diff --git a/examples/bluetooth/lowenergyscanner/assets/main.qml b/examples/bluetooth/lowenergyscanner/assets/main.qml
index cdef49a5d554bcaf32040d8e1083bc9bfa8507ad..c7c201e82525607354d22eefe75fc56d0737d915 100644
--- a/examples/bluetooth/lowenergyscanner/assets/main.qml
+++ b/examples/bluetooth/lowenergyscanner/assets/main.qml
@@ -44,9 +44,9 @@ Rectangle {
     id: back
     width: 300
     height: 600
-    property string message: device.update
-    onMessageChanged: {
-        if (device.update != "Scanning for devices..." && device.update != "Search")
+    property bool deviceState: device.state
+    onDeviceStateChanged: {
+        if (!device.state)
             info.visible = false;
     }
 
diff --git a/examples/bluetooth/lowenergyscanner/device.cpp b/examples/bluetooth/lowenergyscanner/device.cpp
index df125d603f4f8a9c77fb6bd795c8310b1afffe4d..44cd35126ff34a904d13dcbaf14408220965bf5f 100644
--- a/examples/bluetooth/lowenergyscanner/device.cpp
+++ b/examples/bluetooth/lowenergyscanner/device.cpp
@@ -51,7 +51,7 @@
 #include <QList>
 
 Device::Device():
-    connected(false), info(0)
+    connected(false), info(0), m_deviceScanState(false)
 {
     discoveryAgent = new QBluetoothDeviceDiscoveryAgent();
     connect(discoveryAgent, SIGNAL(deviceDiscovered(const QBluetoothDeviceInfo&)),
@@ -89,6 +89,8 @@ void Device::startDeviceDiscovery()
     devices.clear();
     setUpdate("Scanning for devices ...");
     discoveryAgent->start();
+    m_deviceScanState = true;
+    Q_EMIT stateChanged();
 }
 
 void Device::addDevice(const QBluetoothDeviceInfo &info)
@@ -103,6 +105,8 @@ void Device::addDevice(const QBluetoothDeviceInfo &info)
 void Device::scanFinished()
 {
     Q_EMIT devicesDone();
+    m_deviceScanState = false;
+    Q_EMIT stateChanged();
     if (devices.isEmpty())
         setUpdate("No Low Energy devices found...");
     else
@@ -233,3 +237,8 @@ void Device::serviceScanError(QBluetoothServiceDiscoveryAgent::Error error)
     else
         setUpdate("An unknown error has occurred.");
 }
+
+bool Device::state()
+{
+    return m_deviceScanState;
+}
diff --git a/examples/bluetooth/lowenergyscanner/device.h b/examples/bluetooth/lowenergyscanner/device.h
index 2e471f500b4d841ff2a23bdec8073b7c4a322541..307b0fb9b50083269322681adbd004f883ed6d6e 100644
--- a/examples/bluetooth/lowenergyscanner/device.h
+++ b/examples/bluetooth/lowenergyscanner/device.h
@@ -66,6 +66,7 @@ class Device: public QObject
     Q_PROPERTY(QVariant servicesList READ getServices NOTIFY servicesDone)
     Q_PROPERTY(QVariant characteristicList READ getCharacteristics NOTIFY characteristicsDone)
     Q_PROPERTY(QString update READ getUpdate NOTIFY updateChanged)
+    Q_PROPERTY(bool state READ state NOTIFY stateChanged)
 public:
     Device();
     ~Device();
@@ -73,6 +74,7 @@ public:
     QVariant getServices();
     QVariant getCharacteristics();
     QString getUpdate();
+    bool state();
 
 public slots:
     void addDevice(const QBluetoothDeviceInfo&);
@@ -94,6 +96,7 @@ Q_SIGNALS:
     void servicesDone();
     void characteristicsDone();
     void updateChanged();
+    void stateChanged();
 
 private:
     void setUpdate(QString message);
@@ -106,6 +109,7 @@ private:
     QString m_message;
     bool connected;
     QLowEnergyController *info;
+    bool m_deviceScanState;
 };
 
 #endif // DEVICE_H