diff --git a/lib/master.pike.in b/lib/master.pike.in
index 61fec6ea3dc918dd72aafb6011c2f124fb03c759..a48efe1def9d754fb8e066251c33b4c00887e048 100644
--- a/lib/master.pike.in
+++ b/lib/master.pike.in
@@ -1027,12 +1027,16 @@ program compile_file(string filename,
 		     void|object o)
 {
   AUTORELOAD_CHECK_FILE(filename);
-  return compile(cpp(master_read_file(filename),
-		     filename,
-		     1,
-		     handler,
-		     compat_major,
-		     compat_minor),
+  string code = cpp(master_read_file(filename),
+		    filename,
+		    1,
+		    handler,
+		    compat_major,
+		    compat_minor);
+  if (!code) {
+    error("Required feature missing.\n");
+  }
+  return compile(code,
 		 handler,
 		 compat_major,
 		 compat_minor,