diff --git a/libIRDB/test/fill_in_indtargs.cpp b/libIRDB/test/fill_in_indtargs.cpp
index 6628eb46d3c8b5ee03228f40b8472bac09119c83..54545f177ba287c210b45dd9b8bd3f1ccd838b65 100644
--- a/libIRDB/test/fill_in_indtargs.cpp
+++ b/libIRDB/test/fill_in_indtargs.cpp
@@ -2344,6 +2344,11 @@ void unpin_elf_tables(FileIR_t *firp, int64_t do_unpin_opt)
 
 						if(getenv("UNPIN_VERBOSE")!=0)
 							cout<<"Unpinning "+scoop->GetName()+" entry at offset "<<dec<<i<<endl;
+						// mark as unpinned
+						if(insn->GetIndirectBranchTargetAddress()!=NULL)
+						{
+							insn->GetIndirectBranchTargetAddress()->SetVirtualOffset(0);
+						}
 					}
 				}
 				else
@@ -2451,6 +2456,12 @@ void unpin_elf_tables(FileIR_t *firp, int64_t do_unpin_opt)
 						// add reloc to IR.
 						firp->GetRelocations().insert(nr);
 						scoop->GetRelocations().insert(nr);
+
+						// mark as unpinned
+                                                if(insn->GetIndirectBranchTargetAddress()!=NULL)
+                                                {
+                                                        insn->GetIndirectBranchTargetAddress()->SetVirtualOffset(0);
+                                                }
 					}
 					else
 					{
@@ -2603,6 +2614,12 @@ void unpin_type3_switchtable(FileIR_t* firp,Instruction_t* insn,DataScoop_t* sco
 					// remove rodata reference for hell nodes.
 					targets[table_entry]=newprov;
 					switch_targs.insert(ibt);
+
+					// mark as unpinned
+                                        if(ibt->GetIndirectBranchTargetAddress()!=NULL)
+                                        {
+                                                ibt->GetIndirectBranchTargetAddress()->SetVirtualOffset(0);
+                                        }
 				}
 			}
 		}
diff --git a/libIRDB/test/fix_calls.cpp b/libIRDB/test/fix_calls.cpp
index 2510b4df5f0dceea272d30b3cfeeff0dfbbd59b9..ff35805b0deb0f3b318f19a4f99f1f9ad7f17e8c 100644
--- a/libIRDB/test/fix_calls.cpp
+++ b/libIRDB/test/fix_calls.cpp
@@ -637,6 +637,8 @@ void fix_call(Instruction_t* insn, FileIR_t *firp, bool can_unpin)
 				cout<<"Setting unpin for type="<< reloc->GetType()<< " address="
 				    <<hex<<insn->GetBaseID()<<":"<<insn->getDisassembly()<<endl;
 			}
+			// set newindirtarg as unpinned IBT
+		 	newindirtarg->GetIndirectBranchTargetAddress()->SetVirtualOffset(0);	
 			reloc->SetWRT(newindirtarg);
 		}
 	}