diff --git a/src/docode.c b/src/docode.c
index e84657b08c1d10ae028c324d7cfceceb5446caf5..20e418eaca5263aa1e761086606f26da86fa4fb9 100644
--- a/src/docode.c
+++ b/src/docode.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: docode.c,v 1.17 1997/05/19 23:31:00 hubbe Exp $");
+RCSID("$Id: docode.c,v 1.18 1997/06/19 20:59:44 hubbe Exp $");
 #include "las.h"
 #include "program.h"
 #include "language.h"
@@ -279,7 +279,8 @@ static int do_docode2(node *n,int flags)
     default:
       yyerror("Illegal lvalue.");
       emit(F_NUMBER,0);
-      return 1;
+      emit(F_NUMBER,0);
+      return 2;
 
     case F_LVALUE_LIST:
     case F_LOCAL:
@@ -509,7 +510,7 @@ static int do_docode2(node *n,int flags)
     tmp1=do_docode(CAR(n),DO_LVALUE);
 #ifdef DEBUG
     if(tmp1 != 2)
-      fatal("HELP! FATAL INTERNAL COMPILER ERROR\n");
+      fatal("HELP! FATAL INTERNAL COMPILER ERROR (again)\n");
 #endif
 
     if(flags & DO_POP)
@@ -526,7 +527,7 @@ static int do_docode2(node *n,int flags)
     tmp1=do_docode(CAR(n),DO_LVALUE);
 #ifdef DEBUG
     if(tmp1 != 2)
-      fatal("HELP! FATAL INTERNAL COMPILER ERROR\n");
+      fatal("HELP! FATAL INTERNAL COMPILER ERROR (yet again)\n");
 #endif
     if(flags & DO_POP)
     {