diff --git a/src/language.yacc b/src/language.yacc
index e8ce3046ae7457881582e1a6e64c8b41f069fc42..cf3f91ddb7dc07d55adf78ebba53edbb0146180a 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -109,7 +109,7 @@
 /* This is the grammar definition of Pike. */
 
 #include "global.h"
-RCSID("$Id: language.yacc,v 1.193 2000/06/26 18:30:55 grubba Exp $");
+RCSID("$Id: language.yacc,v 1.194 2000/06/29 00:08:15 hubbe Exp $");
 #ifdef HAVE_MEMORY_H
 #include <memory.h>
 #endif
@@ -1627,7 +1627,8 @@ local_function: TOK_IDENTIFIER push_compiler_frame1 func_args
     {
       $$=copy_node(Pike_compiler->compiler_frame->variable[localid].def);
     }else{
-      if(Pike_compiler->compiler_frame->lexical_scope & SCOPE_SCOPE_USED)
+      if(Pike_compiler->compiler_frame->lexical_scope & 
+	 (SCOPE_SCOPE_USED | SCOPE_SCOPED))
       {
 	$$ = mknode(F_ASSIGN, mktrampolinenode($<number>3),
 		    mklocalnode(localid,0));
@@ -1746,7 +1747,8 @@ local_function2: optional_stars TOK_IDENTIFIER push_compiler_frame1 func_args
     {
       $$=copy_node(Pike_compiler->compiler_frame->variable[localid].def);
     }else{
-      if(Pike_compiler->compiler_frame->lexical_scope & SCOPE_SCOPE_USED)
+      if(Pike_compiler->compiler_frame->lexical_scope & 
+	 (SCOPE_SCOPE_USED | SCOPE_SCOPED))
       {
         $$ = mknode(F_ASSIGN, mktrampolinenode($<number>5),
 	  mklocalnode(localid,0));