diff --git a/src/imports/multimedia/qdeclarativecamerafocus.cpp b/src/imports/multimedia/qdeclarativecamerafocus.cpp
index 19d8ca81e4c9ea874e528a8a7f77c64e31b23d47..4b5544d2a80d54f0c1a64daac70800e5408d9fb6 100644
--- a/src/imports/multimedia/qdeclarativecamerafocus.cpp
+++ b/src/imports/multimedia/qdeclarativecamerafocus.cpp
@@ -179,7 +179,10 @@ bool QDeclarativeCameraFocus::isFocusModeSupported(QDeclarativeCamera::FocusMode
 
 void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCamera::FocusMode mode)
 {
-    m_focus->setFocusMode(QCameraFocus::FocusModes(int(mode)));
+    if (mode != focusMode()) {
+        m_focus->setFocusMode(QCameraFocus::FocusModes(int(mode)));
+        emit focusModeChanged(focusMode());
+    }
 }
 /*!
     \property QDeclarativeCameraFocus::focusPointMode