diff --git a/rts/Disassembler.c b/rts/Disassembler.c
index 8c84e13ef3d81b3ad3fc48e00cdf1b9f197f7762..01d6c3b1d94d9e481139e80ba97db935d1a60bfc 100644
--- a/rts/Disassembler.c
+++ b/rts/Disassembler.c
@@ -68,7 +68,11 @@ disInstr ( StgBCO *bco, int pc )
       case bci_BRK_FUN:
          debugBelch ("BRK_FUN  " );  printPtr( ptrs[instrs[pc]] );
          debugBelch (" %d ", instrs[pc+1]); printPtr( ptrs[instrs[pc+2]] );
-         debugBelch(" %s\n", ((CostCentre*)(literals[instrs[pc+3]]))->label);
+         CostCentre* cc = (CostCentre*)literals[instrs[pc+3]];
+         if (cc) {
+           debugBelch(" %s", cc->label);
+         }
+         debugBelch("\n");
          pc += 4;
          break;
       case bci_SWIZZLE: