diff --git a/src/plugins/geoservices/osm/qgeoroutereplyosm.cpp b/src/plugins/geoservices/osm/qgeoroutereplyosm.cpp
index c15bb48fd69e023a96f660336f6eda2088a5cec7..deac5b9e2d2cf2c54f8df0b67140e17553454a4e 100644
--- a/src/plugins/geoservices/osm/qgeoroutereplyosm.cpp
+++ b/src/plugins/geoservices/osm/qgeoroutereplyosm.cpp
@@ -339,6 +339,7 @@ void QGeoRouteReplyOsm::networkReplyFinished()
     if (m_reply->error() != QNetworkReply::NoError) {
         setError(QGeoRouteReply::CommunicationError, m_reply->errorString());
         m_reply->deleteLater();
+        m_reply = 0;
         return;
     }
 
@@ -357,6 +358,7 @@ void QGeoRouteReplyOsm::networkReplyFinished()
         if (0 != status) {
             setError(QGeoRouteReply::UnknownError, statusMessage);
             m_reply->deleteLater();
+            m_reply = 0;
             return;
         }
 
@@ -397,6 +399,7 @@ void QGeoRouteReplyOsm::networkReplyFinished()
     }
 
     m_reply->deleteLater();
+    m_reply = 0;
 }
 
 void QGeoRouteReplyOsm::networkReplyError(QNetworkReply::NetworkError error)