diff --git a/beaengine/beaengineSources/Includes/Routines_Disasm.c b/beaengine/beaengineSources/Includes/Routines_Disasm.c
index e7bde12c00a322c36c17e8d5dc24ee0445e905d8..ae969cdcb1011472326fe3c9313d0a20420b4062 100644
--- a/beaengine/beaengineSources/Includes/Routines_Disasm.c
+++ b/beaengine/beaengineSources/Includes/Routines_Disasm.c
@@ -97,8 +97,10 @@ int __bea_callspec__ InitVariables (PDISASM pMyDisasm) {
 	(*pMyDisasm).Argument1.ArgType = NO_ARGUMENT;
 	(*pMyDisasm).Argument2.ArgType = NO_ARGUMENT;
 	(*pMyDisasm).Argument3.ArgType = NO_ARGUMENT;
+	(*pMyDisasm).Argument4.ArgType = NO_ARGUMENT;
     (*pMyDisasm).Argument2.AccessMode = READ;
     (*pMyDisasm).Argument3.AccessMode = READ;
+    (*pMyDisasm).Argument4.AccessMode = READ;
     (void) memset (&(*pMyDisasm).Instruction, 0, sizeof (INSTRTYPE));
     GV.TAB_ = (UInt32)(*pMyDisasm).Options & 0xff;
     GV.SYNTAX_ = (UInt32)(*pMyDisasm).Options & 0xff00;
diff --git a/libIRDB/test/fill_in_cfg.cpp b/libIRDB/test/fill_in_cfg.cpp
index 8b6959d0c0274532951c27a839ded160157fdb9a..b86e3aa6079cc3e2f705f31b4f42a86a1ec3e7cc 100644
--- a/libIRDB/test/fill_in_cfg.cpp
+++ b/libIRDB/test/fill_in_cfg.cpp
@@ -268,7 +268,7 @@ void add_new_instructions(FileIR_t *firp)
         		virtual_offset_t second=elfiop.sections[secndx]->get_address()+elfiop.sections[secndx]->get_size();
 
 			/* is the missed instruction in this section */
-			if(first<=missed_address && missed_address<=second)
+			if(first<=missed_address && missed_address<second)
 			{
 				const char* data=elfiop.sections[secndx]->get_data();
 				// second=data?
@@ -281,6 +281,7 @@ void add_new_instructions(FileIR_t *firp)
                 		disasm.Options = NasmSyntax + PrefixedNumeral;
                 		disasm.Archi = firp->GetArchitectureBitWidth();
                 		disasm.EIP = (UIntPtr) &data[offset_into_section];
+				disasm.SecurityBlock=elfiop.sections[secndx]->get_size()-offset_into_section;
                 		disasm.VirtualAddr = missed_address;
                 		int instr_len = Disasm(&disasm);
 
@@ -292,8 +293,12 @@ void add_new_instructions(FileIR_t *firp)
 				/* if we found the instruction, but can't disassemble it, then we skip out for now */
 				if(instr_len==OUT_OF_RANGE || instr_len==UNKNOWN_OPCODE)
 				{
+					if(getenv("VERBOSE_CFG"))
+						cout<<"Found invalid insn at "<<missed_address<<endl;
 					break;
 				}
+				else if(getenv("VERBOSE_CFG"))
+					cout<<"Found valid insn at "<<missed_address<<": "<<disasm.CompleteInstr<<endl;
 
 				/* intel instructions have a max size of 16 */
 				assert(1<=instr_len && instr_len<=16);