diff --git a/src/location/declarativemaps/qdeclarativegeomap.cpp b/src/location/declarativemaps/qdeclarativegeomap.cpp
index 5c916fb2f200e87f40124c3f41d4bb7ae4cf2297..57f127efdd6eef98700dd10491cf3c12c8ba3ba0 100644
--- a/src/location/declarativemaps/qdeclarativegeomap.cpp
+++ b/src/location/declarativemaps/qdeclarativegeomap.cpp
@@ -2006,9 +2006,10 @@ void QDeclarativeGeoMap::removeMapItem(QDeclarativeGeoMapItemBase *ptr)
 */
 void QDeclarativeGeoMap::clearMapItems()
 {
-    m_map->clearMapItems();
     if (m_mapItems.isEmpty())
         return;
+    if (m_map)
+        m_map->clearMapItems();
     for (auto i : qAsConst(m_mapItems)) {
         if (i) {
             i->setMap(0, 0);