diff --git a/src/las.c b/src/las.c
index f33fbd40ddcbc440ff29de82879265ab1a013f22..b36ce57f4e037c4a4ae13048f8f7001d995033b3 100644
--- a/src/las.c
+++ b/src/las.c
@@ -3056,9 +3056,11 @@ static struct pike_string *get_name_of_function(node *n)
 	name = n->u.sval.u.efun->name;
       } else {
 	struct program *p = n->u.sval.u.object->prog;
+#ifdef PIKE_DEBUG
 	if (!p) {
 	  p = id_to_program(n->u.sval.u.object->program_id);
 	}
+#endif
 	if (p) {
 	  name = ID_FROM_INT(p, SUBTYPEOF(n->u.sval))->name;
 	} else {
diff --git a/src/program.c b/src/program.c
index 992b7105f2bc516333a891ddedd968a23188e4c0..b70f9a0982b59a69d19b4f99768e640b14725b70 100644
--- a/src/program.c
+++ b/src/program.c
@@ -9100,7 +9100,9 @@ static int run_pass1(struct compilation *c)
     }else{
       free_program(c->placeholder->prog);
       add_ref(c->placeholder->prog=Pike_compiler->new_program);
+#ifdef PIKE_DEBUG
       c->placeholder->program_id = Pike_compiler->new_program->id;
+#endif
       debug_malloc_touch(c->placeholder);
     }
   }