diff --git a/tests/auto/declarative_ui/tst_map.qml b/tests/auto/declarative_ui/tst_map.qml
index 6691580e54d5fa4ab922706a38e1a9f930fa358e..846a621fe566bce9d988c6dc92d270bf3b317273 100644
--- a/tests/auto/declarative_ui/tst_map.qml
+++ b/tests/auto/declarative_ui/tst_map.qml
@@ -57,6 +57,14 @@ Item {
     property variant coordinate5: QtPositioning.coordinate(20, 180)
     property variant invalidCoordinate: QtPositioning.coordinate()
     property variant altitudelessCoordinate: QtPositioning.coordinate(50, 50)
+    property bool allMapsReady: mapZoomOnCompleted.mapReady
+                                && mapZoomDefault.mapReady
+                                && mapZoomUserInit.mapReady
+                                && map.mapReady
+                                && mapPar.mapReady
+                                && coordinateMap.mapReady
+                                && mapTiltBearing.mapReady
+                                && mapTiltBearingHere.mapReady
 
     Map { id: mapZoomOnCompleted; width: 200; height: 200;
         zoomLevel: 3; center: coordinate1; plugin: testPlugin;
@@ -98,7 +106,7 @@ Item {
 
 
     TestCase {
-        when: windowShown
+        when: windowShown && allMapsReady
         name: "MapProperties"
 
         function fuzzy_compare(val, ref) {
diff --git a/tests/auto/declarative_ui/tst_map_coordinateanimation.qml b/tests/auto/declarative_ui/tst_map_coordinateanimation.qml
index d9b71edda1f8cbc31bb4747eac2c99fd5bb7883e..2047750994aec86195353f28b537e2586e402764 100644
--- a/tests/auto/declarative_ui/tst_map_coordinateanimation.qml
+++ b/tests/auto/declarative_ui/tst_map_coordinateanimation.qml
@@ -79,7 +79,7 @@ Item {
     }
 
     TestCase {
-        when: windowShown
+        when: windowShown && map.mapReady
         name: "CoordinateAnimation"
 
         function test_coordinate_animation() {
diff --git a/tests/auto/declarative_ui/tst_map_flick.qml b/tests/auto/declarative_ui/tst_map_flick.qml
index 8da712b2637b29c02058b1ead52c4a85aa6cc790..84ffa4294880669c48d547e814c818a1d941eb0e 100644
--- a/tests/auto/declarative_ui/tst_map_flick.qml
+++ b/tests/auto/declarative_ui/tst_map_flick.qml
@@ -94,7 +94,7 @@ Item {
     SignalSpy {id: mouseAreaBottomSpy; target: mouseAreaBottom; signalName: 'onPressed'}
 
     TestCase {
-        when: windowShown
+        when: windowShown && map.mapReady
         name: "MapFlick"
 
         function init()
diff --git a/tests/auto/declarative_ui/tst_map_item.qml b/tests/auto/declarative_ui/tst_map_item.qml
index b75daf381f847e9fe3943f3f474bf49602c65418..1646fdbaf8b6f447668a49c83dc8d7080bff9106 100644
--- a/tests/auto/declarative_ui/tst_map_item.qml
+++ b/tests/auto/declarative_ui/tst_map_item.qml
@@ -216,7 +216,7 @@ Item {
     }
     TestCase {
         name: "MapItems"
-        when: windowShown
+        when: windowShown && map.mapReady
 
         function initTestCase()
         {
diff --git a/tests/auto/declarative_ui/tst_map_item_details.qml b/tests/auto/declarative_ui/tst_map_item_details.qml
index 0c5f5c0ba2ef01ee553827367e6d5ec25e343815..80225c169949cbb2172188a312356fc40d8cce34 100644
--- a/tests/auto/declarative_ui/tst_map_item_details.qml
+++ b/tests/auto/declarative_ui/tst_map_item_details.qml
@@ -278,7 +278,7 @@ Item {
 
     TestCase {
         name: "MapItemDetails"
-        when: windowShown
+        when: windowShown && map.mapReady
 
     /*
 
diff --git a/tests/auto/declarative_ui/tst_map_item_fit_viewport.qml b/tests/auto/declarative_ui/tst_map_item_fit_viewport.qml
index fe4d9e491e79c6381ca2cbc06a8287d202d8c411..adf9c3477b2da418c7d2fd8d37a475e071b294c1 100644
--- a/tests/auto/declarative_ui/tst_map_item_fit_viewport.qml
+++ b/tests/auto/declarative_ui/tst_map_item_fit_viewport.qml
@@ -217,7 +217,7 @@ Item {
 
     TestCase {
         name: "MapItemsFitViewport"
-        when: windowShown
+        when: windowShown && map.mapReady
 
         function initTestCase()
         {
diff --git a/tests/auto/declarative_ui/tst_map_itemview.qml b/tests/auto/declarative_ui/tst_map_itemview.qml
index db788ace6c83c56d3fdccfe1b2369c70560e288a..bbd70c8ee1900de40461d957f91bee1a3fd3a349 100644
--- a/tests/auto/declarative_ui/tst_map_itemview.qml
+++ b/tests/auto/declarative_ui/tst_map_itemview.qml
@@ -40,6 +40,11 @@ Item {
     Plugin { id: testPlugin; name : "qmlgeo.test.plugin"; allowExperimental: true }
 
     property variant mapDefaultCenter: QtPositioning.coordinate(10, 30)
+    property bool allMapsReady: map.mapReady
+                                && map3.mapReady
+                                && mapForView.mapReady
+                                && mapForTestingListModel.mapReady
+                                && mapForTestingRouteModel.mapReady
 
     Map {
         id: map
@@ -259,7 +264,7 @@ Item {
 
     TestCase {
         name: "MapItem"
-        when: windowShown
+        when: windowShown && allMapsReady
         function clear_data() {
             mapItemSpy.clear()
         }
diff --git a/tests/auto/declarative_ui/tst_map_keepgrab.qml b/tests/auto/declarative_ui/tst_map_keepgrab.qml
index fa47eec86a2f146c78595d7ea631a048691ab8d1..7690b78de302d5060f5d3bdb31098fa7ffff3636 100644
--- a/tests/auto/declarative_ui/tst_map_keepgrab.qml
+++ b/tests/auto/declarative_ui/tst_map_keepgrab.qml
@@ -61,7 +61,7 @@ Item {
 
 
     TestCase {
-        when: windowShown
+        when: windowShown && map.mapReady
         name: "MapKeepGrabAndPreventSteal"
 
         function initTestCase()
diff --git a/tests/auto/declarative_ui/tst_map_mouse.qml b/tests/auto/declarative_ui/tst_map_mouse.qml
index 99aff03d654719b2dcf56c4645d940b985653980..dd9de73ad00101860a7b7fd24a948a0dfbe6ef2c 100644
--- a/tests/auto/declarative_ui/tst_map_mouse.qml
+++ b/tests/auto/declarative_ui/tst_map_mouse.qml
@@ -161,7 +161,7 @@ Item {
 
     TestCase {
         name: "MouseArea"
-        when: windowShown
+        when: windowShown && map.mapReady
         SignalSpy {id: mouseUpperClickedSpy; target: mouseUpper; signalName: "clicked"}
         SignalSpy {id: mouseLowerClickedSpy; target: mouseLower; signalName: "clicked"}
         SignalSpy {id: mouseOverlapperClickedSpy; target: mouseOverlapper; signalName: "clicked"}
diff --git a/tests/auto/declarative_ui/tst_map_pinch.qml.QTBUG-47970 b/tests/auto/declarative_ui/tst_map_pinch.qml.QTBUG-47970
index f80e44a173b9fd6ff9e02e16c6402ba16116c020..6d913eab05be407dabab3873ae579a85d35bb924 100644
--- a/tests/auto/declarative_ui/tst_map_pinch.qml.QTBUG-47970
+++ b/tests/auto/declarative_ui/tst_map_pinch.qml.QTBUG-47970
@@ -102,7 +102,7 @@ Item {
     SignalSpy {id: mouseAreaBottomSpy; target: mouseAreaBottom; signalName: 'onPressed'}
 
     TestCase {
-        when: windowShown
+        when: windowShown && map.mapReady
         name: "MapPinch"
 
         function init()