diff --git a/src/program.c b/src/program.c
index 4c6fb042b3147bf0169000505d68009c0743a47e..2dd716509c31dcd992598f5115efa373ebc25b81 100644
--- a/src/program.c
+++ b/src/program.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: program.c,v 1.210 2000/03/09 15:02:27 grubba Exp $");
+RCSID("$Id: program.c,v 1.211 2000/03/09 15:19:05 grubba Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -387,6 +387,13 @@ struct node_s *find_module_identifier(struct pike_string *ident)
     }
   }
 
+  /* Handle this_program */
+  if (ident == this_program_string) {
+    struct svalue s;
+    s.type=T_PROGRAM;
+    s.u.program=new_program;
+    return mkconstantsvaluenode(&s);
+  }
 
   if(resolve_cache)
   {
@@ -437,14 +444,6 @@ struct node_s *find_module_identifier(struct pike_string *ident)
     if(ret) return ret;
   }
 
-  /* Handle this_program */
-  if (ident == this_program_string) {
-    struct svalue s;
-    s.type=T_PROGRAM;
-    s.u.program=new_program;
-    return mkconstantsvaluenode(&s);
-  }
-
   return 0;
 }