diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 7ae50e9a374bfd741df91ff984744d572508d858..56a8c09b31a1e24a2862bbb847ef9a29cf041133 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -1281,8 +1281,6 @@ class Dumper(DumperBase):
                 self.reportStackTop()
                 self.reportThreads()
                 self.reportLocation()
-                self.reportVariables()
-                self.reportRegisters()
                 self.reportChangedBreakpoints()
         elif type == lldb.SBProcess.eBroadcastBitInterrupt:
             pass
@@ -1556,7 +1554,6 @@ class Dumper(DumperBase):
         state = self.process.GetState()
         if state == lldb.eStateStopped:
             self.reportStackPosition()
-            self.reportVariables()
 
     def selectThread(self, args):
         self.process.SetSelectedThreadByID(args['id'])
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index d2bad378b142ab97c53b6a1938ec2d23e39f6a63..2589063fff8723adb56bf9d120223c3bd9e170dc 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -320,7 +320,6 @@ void LldbEngine::setupInferior()
     }
 
     runCommand(cmd);
-    updateLocals(); // update display options
 }
 
 void LldbEngine::runEngine()
@@ -493,6 +492,8 @@ void LldbEngine::activateFrame(int frameIndex)
     cmd.arg("thread", threadsHandler()->currentThread().raw());
     cmd.arg("stacklimit", limit);
     runCommand(cmd);
+
+    updateAll();
 }
 
 void LldbEngine::selectThread(ThreadId threadId)
@@ -872,6 +873,7 @@ bool LldbEngine::setToolTipExpression(const QPoint &mousePos,
 
 void LldbEngine::updateAll()
 {
+    reloadRegisters();
     updateLocals();
 }
 
@@ -1181,6 +1183,8 @@ void LldbEngine::refreshState(const GdbMi &reportedState)
         if (m_continueAtNextSpontaneousStop) {
             m_continueAtNextSpontaneousStop = false;
             continueInferior();
+        } else {
+            updateAll();
         }
     } else if (newState == "inferiorstopok")
         notifyInferiorStopOk();
diff --git a/src/plugins/debugger/lldb/lldbengine.h b/src/plugins/debugger/lldb/lldbengine.h
index df6c132ed1fa9ada02f122eb88c8f0ce33a56264..3d43532d915d7dc8f49eeb15122547f5ce4fcf81 100644
--- a/src/plugins/debugger/lldb/lldbengine.h
+++ b/src/plugins/debugger/lldb/lldbengine.h
@@ -184,7 +184,6 @@ private:
 
     typedef void (LldbEngine::*LldbCommandContinuation)();
 
-    void handleStop(const QByteArray &response);
     void handleListLocals(const QByteArray &response);
     void handleListModules(const QByteArray &response);
     void handleListSymbols(const QByteArray &response);