diff --git a/src/compiler/codegen/MethodBitcode.cc b/src/compiler/codegen/MethodBitcode.cc
index a9e134f..58678a0 100644
--- a/src/compiler/codegen/MethodBitcode.cc
+++ b/src/compiler/codegen/MethodBitcode.cc
@@ -29,6 +29,7 @@
 #include <llvm/Support/InstIterator.h>
 
 static const char* kLabelFormat = "%c0x%x_%d";
+static const char kInvalidBlock = 0xff;
 static const char kNormalBlock = 'L';
 static const char kCatchBlock = 'C';
 
@@ -2885,15 +2886,21 @@
     // Define the starting label
     LIR* blockLabel = cUnit->blockToLabelMap.Get(bb);
     // Extract the type and starting offset from the block's name
-    char blockType = kNormalBlock;
-    if (!isEntry) {
-      const char* blockName = bb->getName().str().c_str();
-      int dummy;
-      sscanf(blockName, kLabelFormat, &blockType, &blockLabel->operands[0], &dummy);
-      cUnit->currentDalvikOffset = blockLabel->operands[0];
+    char blockType = kInvalidBlock;
+    if (isEntry) {
+      blockType = kNormalBlock;
+      blockLabel->operands[0] = 0;
+    } else if (!bb->hasName()) {
+      blockType = kNormalBlock;
+      blockLabel->operands[0] = DexFile::kDexNoIndex;
     } else {
-      cUnit->currentDalvikOffset = 0;
+      std::string blockName = bb->getName().str();
+      int dummy;
+      sscanf(blockName.c_str(), kLabelFormat, &blockType, &blockLabel->operands[0], &dummy);
+      cUnit->currentDalvikOffset = blockLabel->operands[0];
     }
+    DCHECK((blockType == kNormalBlock) || (blockType == kCatchBlock));
+    cUnit->currentDalvikOffset = blockLabel->operands[0];
     // Set the label kind
     blockLabel->opcode = kPseudoNormalBlockLabel;
     // Insert the label
