diff --git a/src/plugins/geoservices/osm/qgeocodereplyosm.cpp b/src/plugins/geoservices/osm/qgeocodereplyosm.cpp
index 885ba397326f49e4ec85e6caa64773dda93a230a..b4733d6951405d3970e9d7c72193320740d11f98 100644
--- a/src/plugins/geoservices/osm/qgeocodereplyosm.cpp
+++ b/src/plugins/geoservices/osm/qgeocodereplyosm.cpp
@@ -46,6 +46,7 @@
 #include <QtPositioning/QGeoAddress>
 #include <QtPositioning/QGeoLocation>
 #include <QtPositioning/QGeoRectangle>
+#include <QtLocation/private/qgeojson_p.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -112,8 +113,12 @@ static void injectExtra(QGeoLocation &location, const QJsonObject &object)
                                                QStringLiteral("class") };
 
     for (const auto k: extraKeys) {
-        if (object.contains(k))
+        if (object.contains(k)) {
             extra[k] = object.value(k).toVariant();
+            if (k == QStringLiteral("geojson"))
+                extra[QStringLiteral("geojson_model")] =
+                        QGeoJson::importGeoJson(QJsonDocument::fromVariant(extra[k]));
+        }
     }
 
     location.setExtendedAttributes(extra);