diff --git a/src/plugins/debugger/lldb/ipcenginehost.cpp b/src/plugins/debugger/lldb/ipcenginehost.cpp
index c67f6915845a4d9bee9bf1400ca663fc2e232fa3..f2bd37d40709c8d86ed74e44be295c2a4bda73b5 100644
--- a/src/plugins/debugger/lldb/ipcenginehost.cpp
+++ b/src/plugins/debugger/lldb/ipcenginehost.cpp
@@ -424,7 +424,7 @@ void IPCEngineHost::rpcCallback(quint64 f, QByteArray payload)
                 resetLocation();
                 StackHandler *sh = stackHandler();
                 sh->setCurrentIndex(token);
-                if (QFileInfo(sh->currentFrame().file).exists())
+                if (!sh->currentFrame().isUsable() || QFileInfo(sh->currentFrame().file).exists())
                     gotoLocation(sh->currentFrame(), true);
                 else
                     fetchFrameSource(token);