diff --git a/compiler.cpp b/compiler.cpp
index 4a14ff4..f03f40b 100644
--- a/compiler.cpp
+++ b/compiler.cpp
@@ -313,7 +313,7 @@ RoxorCompiler::RoxorCompiler(bool _debug_mode)
 #endif
 
     dbg_mdkind = context.getMDKindID("dbg");
-    assert(dbg_mdkind != 0);
+    //assert(dbg_mdkind != 0);
 }
 
 RoxorAOTCompiler::RoxorAOTCompiler(void)
@@ -2880,7 +2880,7 @@ RoxorCompiler::compile_scope(NODE *node)
 		new_rescue_invoke_bb->use_begin();
 		rescue_use_it != new_rescue_invoke_bb->use_end();
 		rescue_use_it = new_rescue_invoke_bb->use_begin()) {
-	    InvokeInst* invoke = dyn_cast<InvokeInst>(rescue_use_it);
+	    InvokeInst* invoke = dyn_cast<InvokeInst>(*rescue_use_it);
 	    assert(invoke != NULL);
 
 	    // Transform the InvokeInst in CallInst.
diff --git a/interpreter.cpp b/interpreter.cpp
index 3b76d97..eb57cd5 100644
--- a/interpreter.cpp
+++ b/interpreter.cpp
@@ -39,7 +39,7 @@ extern "C" void rb_vm_prepare_method(Class klass, unsigned char dynamic_class,
 static inline Value *
 call_arg(CallInst *insn, unsigned int i)
 {
-    return insn->getOperand(i + 1);
+    return insn->getArgOperand(i);
 }
 
 static inline uint64_t
