diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp
index 2c98c9f7c9ebb915ec3ca78b8f942d4fb265185e..5113a494c4c2e12e1be4534fd1605937a3617c49 100644
--- a/src/plugins/debugger/debuggeractions.cpp
+++ b/src/plugins/debugger/debuggeractions.cpp
@@ -152,11 +152,15 @@ DebuggerSettings *DebuggerSettings::instance()
     instance->insertItem(LogTimeStamps, item);
 
     item = new SavedAction(instance);
-    item->setText(tr("Step by instruction"));
+    item->setText(tr("Operate by instruction"));
     item->setCheckable(true);
     item->setDefaultValue(false);
     item->setIcon(QIcon(":/debugger/images/debugger_stepoverproc_small.png"));
-    instance->insertItem(StepByInstruction, item);
+    item->setToolTip(tr("This switches the debugger to instruction-wise "
+        "operation mode. In this mode, stepping operates on single "
+        "instructions and the source location view also shows the "
+        "disassembled instructions."));
+    instance->insertItem(OperateByInstruction, item);
 
     //
     // Locals & Watchers
diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h
index 37089b79b7cf7543de681b4e4fec6dacced671ed..0109baf74b708c8a9664c0dd0cfd45ad09dee1a4 100644
--- a/src/plugins/debugger/debuggeractions.h
+++ b/src/plugins/debugger/debuggeractions.h
@@ -77,7 +77,7 @@ enum DebuggerActionCode
     AutoQuit,
     LockView,
     LogTimeStamps,
-    StepByInstruction,
+    OperateByInstruction,
 
     RecheckDebuggingHelpers,
     UseDebuggingHelpers,
@@ -127,7 +127,8 @@ Core::Utils::SavedAction *theDebuggerAction(int code);
 bool theDebuggerBoolSetting(int code);
 QString theDebuggerStringSetting(int code);
 
-struct DebuggerManagerActions {
+struct DebuggerManagerActions
+{
     QAction *continueAction;
     QAction *stopAction;
     QAction *resetAction; // FIXME: Should not be needed in a stable release
diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 23cecbd53ee7cd1ca103aa3556c4502026485419..24e6322a63fe9a01158bdb61eb22b5b4ce25fc15 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -511,8 +511,8 @@ void DebuggerManager::init()
     connect(theDebuggerAction(WatchPoint), SIGNAL(triggered()),
         this, SLOT(watchPoint()));
 
-    connect(theDebuggerAction(StepByInstruction), SIGNAL(triggered()),
-        this, SLOT(stepByInstructionTriggered()));
+    connect(theDebuggerAction(OperateByInstruction), SIGNAL(triggered()),
+        this, SLOT(operateByInstructionTriggered()));
 
 
     d->m_breakDock = d->m_mainWindow->addDockForWidget(d->m_breakWindow);
@@ -1100,7 +1100,7 @@ void DebuggerManager::stepExec()
 {
     QTC_ASSERT(d->m_engine, return);
     resetLocation();
-    if (theDebuggerBoolSetting(StepByInstruction))
+    if (theDebuggerBoolSetting(OperateByInstruction))
         d->m_engine->stepIExec();
     else
         d->m_engine->stepExec();
@@ -1117,7 +1117,7 @@ void DebuggerManager::nextExec()
 {
     QTC_ASSERT(d->m_engine, return);
     resetLocation();
-    if (theDebuggerBoolSetting(StepByInstruction))
+    if (theDebuggerBoolSetting(OperateByInstruction))
         d->m_engine->nextIExec();
     else
         d->m_engine->nextExec();
@@ -1350,7 +1350,7 @@ void DebuggerManager::fileOpen(const QString &fileName)
     emit gotoLocationRequested(frame, false);
 }
 
-void DebuggerManager::stepByInstructionTriggered()
+void DebuggerManager::operateByInstructionTriggered()
 {
     QTC_ASSERT(d->m_stackHandler, return);
     StackFrame frame = d->m_stackHandler->currentFrame();
diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h
index e077cee67a165aa451138dfe1fc39d307d152e82..e38ed13dbd9d660f2289979fa52dcef9f17d5fbe 100644
--- a/src/plugins/debugger/debuggermanager.h
+++ b/src/plugins/debugger/debuggermanager.h
@@ -248,7 +248,7 @@ private slots:
     void clearStatusMessage();
     void attemptBreakpointSynchronization();
     void reloadFullStack();
-    void stepByInstructionTriggered();
+    void operateByInstructionTriggered();
     void startFailed();
 
 private:
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index bb8a1cc976763b8489d48ffa92e9365fc1a0ea07..191178eee2ea4229b5d413a82772a5374e8e8a8d 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -120,7 +120,7 @@ const char * const TOGGLE_BREAK         = "Debugger.ToggleBreak";
 const char * const BREAK_BY_FUNCTION    = "Debugger.BreakByFunction";
 const char * const BREAK_AT_MAIN        = "Debugger.BreakAtMain";
 const char * const ADD_TO_WATCH         = "Debugger.AddToWatch";
-const char * const STEP_BY_INSTRUCTION  = "Debugger.StepByInstruction";
+const char * const OPERATE_BY_INSTRUCTION  = "Debugger.OperateByInstruction";
 
 #ifdef Q_WS_MAC
 const char * const INTERRUPT_KEY            = "Shift+F5";
@@ -686,10 +686,6 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
     cmd->setDefaultKeySequence(QKeySequence(Constants::STEPOUT_KEY));
     mdebug->addAction(cmd);
 
-    cmd = am->registerAction(theDebuggerAction(StepByInstruction),
-        Constants::STEP_BY_INSTRUCTION, debuggercontext);
-    mdebug->addAction(cmd);
-
     cmd = am->registerAction(actions.runToLineAction,
         Constants::RUN_TO_LINE, debuggercontext);
     cmd->setDefaultKeySequence(QKeySequence(Constants::RUN_TO_LINE_KEY));
@@ -716,6 +712,10 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
     cmd = am->registerAction(sep, QLatin1String("Debugger.Sep.Break"), globalcontext);
     mdebug->addAction(cmd);
 
+    cmd = am->registerAction(theDebuggerAction(OperateByInstruction),
+        Constants::OPERATE_BY_INSTRUCTION, debuggercontext);
+    mdebug->addAction(cmd);
+
     cmd = am->registerAction(actions.breakAction,
         Constants::TOGGLE_BREAK, cppeditorcontext);
     cmd->setDefaultKeySequence(QKeySequence(Constants::TOGGLE_BREAK_KEY));
@@ -829,7 +829,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
     debugToolBarLayout->addWidget(toolButton(am->command(Constants::NEXT)->action()));
     debugToolBarLayout->addWidget(toolButton(am->command(Constants::STEP)->action()));
     debugToolBarLayout->addWidget(toolButton(am->command(Constants::STEPOUT)->action()));
-    debugToolBarLayout->addWidget(toolButton(am->command(Constants::STEP_BY_INSTRUCTION)->action()));
+    debugToolBarLayout->addWidget(toolButton(am->command(Constants::OPERATE_BY_INSTRUCTION)->action()));
 #ifdef USE_REVERSE_DEBUGGING
     debugToolBarLayout->addWidget(new Core::Utils::StyledSeparator);
     debugToolBarLayout->addWidget(toolButton(am->command(Constants::REVERSE)->action()));
@@ -1093,7 +1093,7 @@ void DebuggerPlugin::resetLocation()
 
 void DebuggerPlugin::gotoLocation(const Debugger::Internal::StackFrame &frame, bool setMarker)
 {
-    if (theDebuggerBoolSetting(StepByInstruction) || !frame.isUsable()) {
+    if (theDebuggerBoolSetting(OperateByInstruction) || !frame.isUsable()) {
         if (!m_disassemblerViewAgent)
             m_disassemblerViewAgent = new DisassemblerViewAgent(m_manager);
         m_disassemblerViewAgent->setFrame(frame);
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 9bdd670a860d314d23272a2885a4678239edbac1..e8196d9584491f116252d479704b02524db2d0fe 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -2360,7 +2360,7 @@ void GdbEngine::handleStackListFrames(const GdbResponse &response)
         theDebuggerAction(ExpandStack)->setEnabled(canExpand);
         manager()->stackHandler()->setFrames(stackFrames, canExpand);
 
-        if (topFrame != -1 || theDebuggerBoolSetting(StepByInstruction)) {
+        if (topFrame != -1 || theDebuggerBoolSetting(OperateByInstruction)) {
             const StackFrame &frame = manager()->stackHandler()->currentFrame();
             gotoLocation(frame, true);
         }
diff --git a/src/plugins/debugger/stackhandler.cpp b/src/plugins/debugger/stackhandler.cpp
index e5bd3879f64657668a94bc7207388b72ba0c04b7..605c38b0d167b5793ca7e3f908a83391e40d2f13 100644
--- a/src/plugins/debugger/stackhandler.cpp
+++ b/src/plugins/debugger/stackhandler.cpp
@@ -173,7 +173,7 @@ Qt::ItemFlags StackHandler::flags(const QModelIndex &index) const
         return QAbstractTableModel::flags(index);
     const StackFrame &frame = m_stackFrames.at(index.row());
     const bool isValid = (!frame.file.isEmpty() && !frame.function.isEmpty())
-        || theDebuggerBoolSetting(StepByInstruction);
+        || theDebuggerBoolSetting(OperateByInstruction);
     return isValid ? QAbstractTableModel::flags(index) : Qt::ItemFlags(0);
 }