diff --git a/src/plugins/debugger/gdb/pythongdbengine.cpp b/src/plugins/debugger/gdb/pythongdbengine.cpp
index d1025e9ce5edd7e158365f7b2f6d38f90bf1414a..cc1bd5bac25110f676db9902a53e84e106746b2d 100644
--- a/src/plugins/debugger/gdb/pythongdbengine.cpp
+++ b/src/plugins/debugger/gdb/pythongdbengine.cpp
@@ -163,6 +163,11 @@ void GdbEngine::handleStackFramePython(const GdbResponse &response)
                     bp->bpFileName = child.findChild("file").data();
                     bp->markerLineNumber = bp->bpLineNumber.toInt();
                     bp->markerFileName = bp->bpFileName;
+                    // Happens with moved/symlinked sources.
+                    if (!bp->fileName.isEmpty()
+                            && !bp->bpFileName.isEmpty()
+                            && bp->fileName !=  bp->bpFileName)
+                        bp->markerFileName = bp->fileName;
                 } else {
                     QTC_ASSERT(false, qDebug() << child.toString());
                     //bp->bpNumber = "<unavailable>";