diff --git a/qmake/library/proitems.h b/qmake/library/proitems.h
index d22fa0f11e32142c9d4b0c439ec8b6e1dd366c08..dcff970600ab6417acf2485cf50853ca7f571014 100644
--- a/qmake/library/proitems.h
+++ b/qmake/library/proitems.h
@@ -130,6 +130,7 @@ public:
     bool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const { return indexOf(s, 0, cs) >= 0; }
     bool contains(const char *s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const { return indexOf(QLatin1String(s), 0, cs) >= 0; }
     bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const { return indexOf(c, 0, cs) >= 0; }
+    int toLongLong(bool *ok = 0, int base = 10) const { return toQStringRef().toLongLong(ok, base); }
     int toInt(bool *ok = 0, int base = 10) const { return toQStringRef().toInt(ok, base); }
     short toShort(bool *ok = 0, int base = 10) const { return toQStringRef().toShort(ok, base); }
 
diff --git a/qmake/library/qmakebuiltins.cpp b/qmake/library/qmakebuiltins.cpp
index a77c83ea4f6d6adce2c8c6a1080e7970d9e27857..80569e503af3e2bdd5c926c2d793dcdf8084690d 100644
--- a/qmake/library/qmakebuiltins.cpp
+++ b/qmake/library/qmakebuiltins.cpp
@@ -561,7 +561,7 @@ ProStringList QMakeEvaluator::evaluateBuiltinExpand(
                 break;
             }
             bool ok;
-            qlonglong num = m_tmp3.toLongLong(&ok, ibase);
+            qlonglong num = args.at(0).toLongLong(&ok, ibase);
             if (!ok) {
                 evalError(fL1S("format_number(): malformed number %2 for base %1.")
                           .arg(ibase).arg(m_tmp3));