diff --git a/bin/pike.in b/bin/pike.in
index 4d7b57e07a552b1b1bdc989ee4f06da48f661460..f039d61f02c0a775abf05a497a653d67702c0d02 100644
--- a/bin/pike.in
+++ b/bin/pike.in
@@ -14,4 +14,11 @@ case "$BUILDDIR" in
   *) BUILDDIR="BASEDIR"/"$BUILDDIR";;
 esac
 
-exec "$BUILDDIR/pike" "-m$BUILDDIR/master.pike" "$@"
+if test x"$1" = x--gdb; then
+  shift
+  echo set args -m$BUILDDIR/master.pike $@ > .gdbinit
+  gdb "$BUILDDIR/pike"
+  rm .gdbinit
+else
+  exec "$BUILDDIR/pike" "-m$BUILDDIR/master.pike" "$@"
+fi