diff --git a/src/plugins/debugger/cdb/cdbstacktracecontext.cpp b/src/plugins/debugger/cdb/cdbstacktracecontext.cpp
index bb130141cbfd25019337c098fb39d4644746fb09..abf35ddf28be4a2464181d166b2ac8b933c1b78a 100644
--- a/src/plugins/debugger/cdb/cdbstacktracecontext.cpp
+++ b/src/plugins/debugger/cdb/cdbstacktracecontext.cpp
@@ -40,6 +40,7 @@
 #include <utils/savedaction.h>
 
 #include <QtCore/QDebug>
+#include <QtCore/QFileInfo>
 
 enum { debug = 0 };
 
@@ -100,14 +101,14 @@ QList<StackFrame> CdbStackTraceContext::stackFrames() const
     // Convert from Core data structures
     QList<StackFrame> rc;
     const int count = frameCount();
-    const QString hexPrefix = QLatin1String("0x");
     for(int i = 0; i < count; i++) {
         const CdbCore::StackFrame &coreFrame = stackFrameAt(i);
         StackFrame frame;
         frame.level = i;
         frame.file = coreFrame.fileName;
+        frame.usable = !frame.file.isEmpty() && QFileInfo(frame.file).isFile();
         frame.line = coreFrame.line;
-        frame.function =coreFrame.function;
+        frame.function = coreFrame.function;
         frame.from = coreFrame.module;
         frame.address = coreFrame.address;
         rc.push_back(frame);
diff --git a/src/plugins/debugger/cdb2/cdbengine2.cpp b/src/plugins/debugger/cdb2/cdbengine2.cpp
index 3fa03310148bbececadd653fe91242c178523242..6f034a681cc90ff691d2ecdbce83cd4dda01f326 100644
--- a/src/plugins/debugger/cdb2/cdbengine2.cpp
+++ b/src/plugins/debugger/cdb2/cdbengine2.cpp
@@ -1801,6 +1801,7 @@ static StackFrames parseFrames(const QByteArray &data)
         if (fullName.isValid()) {
             frame.file = QFile::decodeName(fullName.data());
             frame.line = frameMi.findChild("line").data().toInt();
+            frame.usable = QFileInfo(frame.file).isFile();
         }
         frame.function = QLatin1String(frameMi.findChild("func").data());
         frame.from = QLatin1String(frameMi.findChild("from").data());
diff --git a/src/plugins/debugger/cdb2/cdbparsehelpers.cpp b/src/plugins/debugger/cdb2/cdbparsehelpers.cpp
index d13926dcf1cdfad5b5a8cd4512000e98472b2576..82444570fddcfab5c3be7a299286d8853aee349e 100644
--- a/src/plugins/debugger/cdb2/cdbparsehelpers.cpp
+++ b/src/plugins/debugger/cdb2/cdbparsehelpers.cpp
@@ -29,7 +29,6 @@
 
 #include "cdbparsehelpers.h"
 #include "breakpoint.h"
-#include "stackframe.h"
 #include "threadshandler.h"
 #include "registerhandler.h"
 #include "bytearrayinputstream.h"
diff --git a/src/plugins/debugger/cdb2/cdbparsehelpers.h b/src/plugins/debugger/cdb2/cdbparsehelpers.h
index 4d85df14f711e76a3886dfe23129db72174f697d..87ae6491f69e80c0e22b46193bda4212c86226f4 100644
--- a/src/plugins/debugger/cdb2/cdbparsehelpers.h
+++ b/src/plugins/debugger/cdb2/cdbparsehelpers.h
@@ -44,7 +44,6 @@ namespace Debugger {
 namespace Internal {
 class BreakpointData;
 class BreakpointParameters;
-class StackFrame;
 struct ThreadData;
 class Register;
 class GdbMi;