diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index e28ef7e731db0b3244fe50bd5c36921ef761167c..543894e7cfb602a7ffe7bfc638e2b3fbf3feffcf 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -2814,7 +2814,7 @@ void GdbEngine::activateSnapshot2()
 
 void GdbEngine::reloadRegisters()
 {
-    if (state() != InferiorStopped)
+    if (state() != InferiorStopped && state() != InferiorUnrunnable)
         return;
     if (!m_registerNamesListed) {
         postCommand("-data-list-register-names", CB(handleRegisterListNames));
diff --git a/src/plugins/debugger/registerwindow.cpp b/src/plugins/debugger/registerwindow.cpp
index 5082d792244d61221b567c4787e27beca14e4d2c..6ca0e191f5b9427b84850c7a9b8dc0ceeda1ebf2 100644
--- a/src/plugins/debugger/registerwindow.cpp
+++ b/src/plugins/debugger/registerwindow.cpp
@@ -169,7 +169,9 @@ void RegisterWindow::contextMenuEvent(QContextMenuEvent *ev)
     const bool actionsEnabled = m_manager->debuggerActionsEnabled();
 
     QAction *actReload = menu.addAction(tr("Reload register listing"));
-    actReload->setEnabled(engineCapabilities & RegisterCapability);
+    actReload->setEnabled((engineCapabilities & RegisterCapability)
+        && (m_manager->state() == InferiorStopped 
+            || m_manager->state() == InferiorUnrunnable));
 
     menu.addSeparator();
 
@@ -181,7 +183,8 @@ void RegisterWindow::contextMenuEvent(QContextMenuEvent *ev)
         actShowMemory->setEnabled(false);
     } else {
         actShowMemory->setText(tr("Open memory editor at %1").arg(address));
-        actShowMemory->setEnabled(actionsEnabled && (engineCapabilities & ShowMemoryCapability));
+        actShowMemory->setEnabled(actionsEnabled
+            && (engineCapabilities & ShowMemoryCapability));
     }
     menu.addSeparator();