diff --git a/lib/master.pike b/lib/master.pike
index 7fee0c515b08ea8a8c88611cbedeafee571ab8ce..7acb51a7cb9f09378a0f0b1050b0d6425bfbe2cf 100644
--- a/lib/master.pike
+++ b/lib/master.pike
@@ -62,7 +62,15 @@ static program low_findprog(string pname, string ext)
     {
     case "":
     case ".pike":
-      ret=compile_file(fname);
+      if ( mixed e=catch { ret=compile_file(fname); } )
+      {
+	if(arrayp(e) &&
+	   sizeof(e)==2 &&
+	   arrayp(e[1]) &&
+	   sizeof(e[1]) == sizeof(backtrace()))
+	  e[1]=({});
+	throw(e);
+      }
       break;
     case ".so":
       ret=load_module(fname);