diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c
index 722643d32624773ab9d4ba405ccf0666d1e8ac34..73d68caa5f629d1864651caf1273722fe1b98d00 100644
--- a/rts/linker/Elf.c
+++ b/rts/linker/Elf.c
@@ -903,8 +903,9 @@ ocGetNames_ELF ( ObjectCode* oc )
                    common_used += symbol->elf_sym->st_size;
                    ASSERT(common_used <= common_size);
 
-                   debugBelch("COMMON symbol, size %ld name %s allocated at %p\n",
-                                   symbol->elf_sym->st_size, nm, symbol->addr);
+                   IF_DEBUG(linker,
+                            debugBelch("COMMON symbol, size %ld name %s allocated at %p\n",
+                                       symbol->elf_sym->st_size, nm, symbol->addr));
 
                    /* Pointless to do addProddableBlock() for this area,
                       since the linker should never poke around in it. */