diff --git a/src/language.yacc b/src/language.yacc
index d48a2668b911c1405f1d744b94eabaa8b3691c34..1b5a4cc9a74f7320f204b43b97a44ec7053ec1b5 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -156,7 +156,7 @@
 /* This is the grammar definition of Pike. */
 
 #include "global.h"
-RCSID("$Id: language.yacc,v 1.44 1997/08/03 09:55:07 hubbe Exp $");
+RCSID("$Id: language.yacc,v 1.45 1997/08/03 12:46:15 hubbe Exp $");
 #ifdef HAVE_MEMORY_H
 #include <memory.h>
 #endif
@@ -1187,27 +1187,30 @@ low_idents: F_IDENTIFIER
       pop_stack();
     }else{
       $$=0;
-      if( get_master() && !num_parse_error)
+      if(!num_parse_error)
       {
-	reference_shared_string($1);
-	push_string($1);
-	reference_shared_string(current_file);
-	push_string(current_file);
-	SAFE_APPLY_MASTER("resolv", 2);
-	
-	if(throw_value.type == T_STRING)
-	{
-	  my_yyerror("%s",throw_value.u.string->str);
-	}
-	else if(IS_ZERO(sp-1) && sp[-1].subtype==1)
+	if( get_master() )
 	{
-	  my_yyerror("'%s' undefined.", $1->str);
+	  reference_shared_string($1);
+	  push_string($1);
+	  reference_shared_string(current_file);
+	  push_string(current_file);
+	  SAFE_APPLY_MASTER("resolv", 2);
+	  
+	  if(throw_value.type == T_STRING)
+	  {
+	    my_yyerror("%s",throw_value.u.string->str);
+	  }
+	  else if(IS_ZERO(sp-1) && sp[-1].subtype==1)
+	  {
+	    my_yyerror("'%s' undefined.", $1->str);
+	  }else{
+	    $$=mkconstantsvaluenode(sp-1);
+	  }
+	  pop_stack();
 	}else{
-	  $$=mkconstantsvaluenode(sp-1);
+	  my_yyerror("'%s' undefined.", $1->str);
 	}
-	pop_stack();
-      }else{
-	my_yyerror("'%s' undefined.", $1->str);
       }
     }
     free_string($1);