diff --git a/src/plugins/debugger/stackframe.cpp b/src/plugins/debugger/stackframe.cpp
index fd5043b9aabbd2ae3569aa128942d36f4c649a07..3c348ada0395dc7dd918f097ba98893c8b20c7f9 100644
--- a/src/plugins/debugger/stackframe.cpp
+++ b/src/plugins/debugger/stackframe.cpp
@@ -88,18 +88,25 @@ QString StackFrame::toToolTip() const
     const QString filePath = QDir::toNativeSeparators(file);
     QString res;
     QTextStream str(&res);
-    str << "<html><body><table>"
-        << "<tr><td>" << tr("Address:") << "</td><td>0x";
-    str.setIntegerBase(16);
-    str <<  address;
+    str << "<html><body><table>";
+    if (address) {
+        str << "<tr><td>" << tr("Address:") << "</td><td>0x";
+        str.setIntegerBase(16);
+        str <<  address;
+    }
     str.setIntegerBase(10);
-    str << "</td></tr>"
-        << "<tr><td>" << tr("Function:") << "</td><td>" << function << "</td></tr>"
-        << "<tr><td>" << tr("File:") << "</td><td>" << filePath << "</td></tr>"
-        << "<tr><td>" << tr("Line:") << "</td><td>" << line << "</td></tr>"
-        << "<tr><td>" << tr("From:") << "</td><td>" << from << "</td></tr>"
-        << "<tr><td>" << tr("To:") << "</td><td>" << to << "</td></tr>"
-        << "</table></body></html>";
+    str << "</td></tr>";
+    if (!function.isEmpty())
+        str << "<tr><td>" << tr("Function:") << "</td><td>" << function << "</td></tr>";
+    if (!file.isEmpty())
+        str << "<tr><td>" << tr("File:") << "</td><td>" << filePath << "</td></tr>";
+    if (line != -1)
+        str << "<tr><td>" << tr("Line:") << "</td><td>" << line << "</td></tr>";
+    if (!from.isEmpty())
+        str << "<tr><td>" << tr("From:") << "</td><td>" << from << "</td></tr>";
+    if (!to.isEmpty())
+        str << "<tr><td>" << tr("To:") << "</td><td>" << to << "</td></tr>";
+    str << "</table></body></html>";
     return res;
 }