diff --git a/src/interfaces/irdb/STARSFunction.cpp b/src/interfaces/irdb/STARSFunction.cpp
index 560d9bed3c338808aca49d7005a67efd03610f60..eb21d51f192895b6c463177c23f28304f2013284 100644
--- a/src/interfaces/irdb/STARSFunction.cpp
+++ b/src/interfaces/irdb/STARSFunction.cpp
@@ -119,7 +119,6 @@ typedef list<SMPInstr*> SMPInstrList_t;
 			SMPInstr *CurrInst = new SMPInstr(interface_insn->GetID().GetIDWithinFile());
 			CurrInst->Analyze();
 
-			block_id_map.push_back(CurrInst);
 
 			if(first_in_func)
 			{
@@ -164,6 +163,7 @@ typedef list<SMPInstr*> SMPInstrList_t;
 
 
 			}
+			block_id_map.push_back(CurrInst);
 	
 			// do a bunch of stuff that is based on the currently built IR.  why 
 			// this needs to be specific to IRDB I don't know.  Ask clc.