diff --git a/irdb-libs/ir_builders/split_eh_frame.cpp b/irdb-libs/ir_builders/split_eh_frame.cpp
index 1f1d6983b3a38fdc189896120d3ebaed364deaa4..4f7493f400cb637bd16bca841dfa6fa6c0f65d63 100644
--- a/irdb-libs/ir_builders/split_eh_frame.cpp
+++ b/irdb-libs/ir_builders/split_eh_frame.cpp
@@ -656,18 +656,19 @@ class pe_eh_split_t
 				const auto frame_reg       = uint8_t(unwind_struct.FrameRegister);
 				const auto frame_offset    = uint8_t(unwind_struct.FrameOffset);
 				const auto unwind_pgm_size = round_up_to(unwind_struct.CountOfCodes,2);
-				const auto handler_ptr     = reinterpret_cast<const uint32_t*>(&unwind_struct.UnwindCode[unwind_pgm_size]);
-				const auto handler_rva     = *handler_ptr;
-				const auto handler_addr    = firp->getArchitecture()->getFileBase() + handler_rva;
-				const auto handler_insn_it = offset_to_insn_map.find(handler_addr);
-				const auto handler_insn    = has_handler ? handler_insn_it->second : (Instruction_t*)nullptr;
 
 
-				assert( (handler_insn_it != end(offset_to_insn_map)) == has_handler);
-
-				auto user_data = string();
+				auto handler_insn = (Instruction_t*)nullptr;
+				auto user_data    = string();
 				if(has_handler)
 				{
+					const auto handler_ptr     = reinterpret_cast<const uint32_t*>(&unwind_struct.UnwindCode[unwind_pgm_size]);
+					const auto handler_rva     = *handler_ptr;
+					const auto handler_addr    = firp->getArchitecture()->getFileBase() + handler_rva;
+					const auto handler_insn_it = offset_to_insn_map.find(handler_addr);
+					assert(handler_insn_it != end(offset_to_insn_map));
+					handler_insn    = handler_insn_it->second ;
+
 					const auto unwind_user_data = reinterpret_cast<const char*>(handler_ptr) + sizeof(uint32_t);
 					const auto unwind_info_size_with_unwindcode_array = reinterpret_cast<const char*>(&unwind_struct.UnwindCode[unwind_pgm_size]) - reinterpret_cast<const char*>(&unwind_struct);
 					const auto user_data_addr   = firp->getArchitecture()->getFileBase() + unwind_addr + unwind_info_size_with_unwindcode_array;