diff --git a/src/citra_qt/debugger/callstack.cpp b/src/citra_qt/debugger/callstack.cpp
index bcc5d2143..274c5cccd 100644
--- a/src/citra_qt/debugger/callstack.cpp
+++ b/src/citra_qt/debugger/callstack.cpp
@@ -38,6 +38,9 @@ void CallstackWidget::OnCPUStepped()
     {
         ret_addr = Memory::Read32(addr);
         call_addr = ret_addr - 4; //get call address???
+        
+        if (Memory::GetPointer(call_addr) == nullptr)
+            break;
 
         /* TODO (mattvail) clean me, move to debugger interface */
         u32 insn = Memory::Read32(call_addr);