diff --git a/src/program.c b/src/program.c
index 0a3968fb2d45f8d5a29893e9c74c76c84a9e20a3..ef00604d7b659eb7c4be72063767bc06b99a8735 100644
--- a/src/program.c
+++ b/src/program.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: program.c,v 1.120 1999/04/07 23:10:10 hubbe Exp $");
+RCSID("$Id: program.c,v 1.121 1999/04/09 04:14:25 hubbe Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -1849,6 +1849,7 @@ INT32 define_function(struct pike_string *name,
     }
 
     /* We modify the old definition if it is in this program */
+
     if(ref.inherit_offset==0)
     {
       if(func)
@@ -1858,8 +1859,10 @@ INT32 define_function(struct pike_string *name,
       
       funp->identifier_flags=function_flags;
     }else{
-      if(compiler_pass==1  || (ref.id_flags & ID_INLINE))
+      if(ref.id_flags & ID_INLINE)
+      {
 	goto make_a_new_def;
+      }
       
       /* Otherwise we make a new definition */
       copy_shared_string(fun.name, name);
@@ -1887,6 +1890,7 @@ INT32 define_function(struct pike_string *name,
   }
 make_a_new_def:
 
+
 #ifdef PIKE_DEBUG
   if(compiler_pass==2)
     fatal("Internal error: Not allowed to add more identifiers during second compiler pass.\n");