diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp
index c4c7e6b375d0aa90f765af6ccf04d9d748e4e1fd..272f19b56182c349ccf676c15bae347c0c0747e2 100644
--- a/src/plugins/debugger/cdb/cdbengine.cpp
+++ b/src/plugins/debugger/cdb/cdbengine.cpp
@@ -1035,12 +1035,18 @@ void CdbEngine::executeJumpToLine(const QString &fileName, int lineNumber)
 
         if (!setRegisterValueU64(m_d->interfaces().debugControl,
                                  m_d->interfaces().debugRegisters,
-                                 QLatin1String("rip"), address, &errorMessage))
+#ifdef Q_OS_WIN64
+                                 QLatin1String("rip"),
+#else
+                                 QLatin1String("eip"),
+#endif
+                                 address, &errorMessage))
             break;
         showMessage(QString::fromLatin1("Jumping to %1:%2 (0x%3)...").
                     arg(QDir::toNativeSeparators(fileName)).arg(lineNumber).arg(address, 0, 16));
 
         StackFrame frame;
+        frame.usable = true;
         frame.file = fileName;
         frame.line = lineNumber;
         gotoLocation(frame, true);
diff --git a/src/plugins/debugger/cdb2/cdbengine2.cpp b/src/plugins/debugger/cdb2/cdbengine2.cpp
index f62879d2092183c67b2413cf52da791b97f1fbdf..fe56f3f2aa9ad7924c04ec8990e6bd494b799204 100644
--- a/src/plugins/debugger/cdb2/cdbengine2.cpp
+++ b/src/plugins/debugger/cdb2/cdbengine2.cpp
@@ -815,7 +815,8 @@ void CdbEngine::handleJumpToLineAddressResolution(const CdbBuiltinCommandPtr &cm
 
     QByteArray registerCmd;
     ByteArrayInputStream str(registerCmd);
-    str << "r rip=0x" << answer;
+    // PC-register depending on 64/32bit.
+    str << "r " << (m_options->is64bit ? "rip" : "eip") << "=0x" << answer;
     postCommand(registerCmd, 0);
     gotoLocation(cookie.fileName, cookie.lineNumber, true);
 }