diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 3621d114fd86c80276c7cac76c75c3e70e7ddaa0..abee609486d622f4418535749a60211b19fdf641 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -1724,6 +1724,9 @@ void GdbEngine::stepExec()
     setTokenBarrier();
     setState(InferiorRunningRequested);
     showStatusMessage(tr("Step requested..."), 5000);
+    StackHandler *stackHandler = manager()->stackHandler();
+    if (m_gdbAdapter->isTrkAdapter() && stackHandler->stackSize() > 0)
+        postCommand("sal " + stackHandler->topAddress().toLatin1());
     if (manager()->isReverseDebugging())
         postCommand("-reverse-step", RunRequest, CB(handleExecStep));
     else
@@ -1762,9 +1765,6 @@ void GdbEngine::stepIExec()
     setTokenBarrier();
     setState(InferiorRunningRequested);
     showStatusMessage(tr("Step by instruction requested..."), 5000);
-    StackHandler *stackHandler = manager()->stackHandler();
-    if (m_gdbAdapter->isTrkAdapter() && stackHandler->stackSize() > 0)
-        postCommand("sal " + stackHandler->topAddress().toLatin1());
     if (manager()->isReverseDebugging())
         postCommand("-reverse-stepi", RunRequest, CB(handleExecContinue));
     else