diff --git a/src/positioning/qgeocircle.cpp b/src/positioning/qgeocircle.cpp
index d5a3bc60bbc230354de3ad4f481f4f06a345a9b9..459ce82400e7ac2da97db837bd2bd1606375ff18 100644
--- a/src/positioning/qgeocircle.cpp
+++ b/src/positioning/qgeocircle.cpp
@@ -204,7 +204,12 @@ bool QGeoCirclePrivate::contains(const QGeoCoordinate &coordinate) const
     if (!isValid() || !coordinate.isValid())
         return false;
 
-    return center.distanceTo(coordinate) <= radius;
+    // see QTBUG-41447 for details
+    qreal distance = center.distanceTo(coordinate);
+    if (qFuzzyCompare(distance, radius) || distance <= radius)
+        return true;
+
+    return false;
 }
 
 /*!