diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index e338d76f7e8fc5b67e8d86edcbb11e5220fb1b56..96f9f448c7b549bf9e8335e5bae6241109c7d1e4 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -1762,8 +1762,7 @@ void GdbEngine::breakpointDataFromOutput(BreakpointData *data, const GdbMi &bkpt
                 data->condition = data->bpCondition;
         } else if (child.hasName("enabled")) {
             data->bpEnabled = (child.data() == "y");
-        }
-        else if (child.hasName("pending")) {
+        } else if (child.hasName("pending")) {
             data->pending = true;
             int pos = child.data().lastIndexOf(':');
             if (pos > 0) {
@@ -1776,6 +1775,12 @@ void GdbEngine::breakpointDataFromOutput(BreakpointData *data, const GdbMi &bkpt
             } else {
                 files.prepend(QString::fromLocal8Bit(child.data()));
             }
+        } else if (child.hasName("at")) {
+            // Happens with (e.g.?) gdb 6.4 symbianelf
+            QByteArray ba = child.data();
+            if (ba.startsWith('<') && ba.endsWith('>'))
+                ba = ba.mid(1, ba.size() - 2);
+            data->bpFuncName = _(ba);
         }
     }
     // This field is not present.  Contents needs to be parsed from