diff --git a/qml/ApmToolBar.qml b/qml/ApmToolBar.qml
index 21cc0fd..fed7169 100644
--- a/qml/ApmToolBar.qml
+++ b/qml/ApmToolBar.qml
@@ -8,26 +8,37 @@ Rectangle {
     property alias backgroundColor : toolbar.color
     property alias linkNameLabel: linkDevice.label
     property alias baudrateLabel: baudrate.label
+    property bool connected: false
 
     width: 1024 < parent.width ? 1024 : parent.width
     height: 72
     color: "black"
     border.color: "black"
 
-    Connections {
-            target: globalObj
-            onMAVConnected: {
-                console.log("Change Connection " + connected)
-                if (connect){
-                    console.log("connected")
-                   // connectButton.image = "./resources/apmplanner/toolbar/disconnect.png"
-                } else {
-                    console.log("disconnected")
-                   // connectButton.image = "./resources/apmplanner/toolbar/connect.png"
-                }
-            }
+    onConnectedChanged: {
+        if (connected){
+            console.log("APM Tool BAR QML: connected")
+            connectButton.image = "./resources/apmplanner/toolbar/disconnect.png"
+        } else {
+            console.log("APM Tool BAR QML: disconnected")
+            connectButton.image = "./resources/apmplanner/toolbar/connect.png"
+        }
     }
 
+//    Connections {
+//            target: globalObj
+//            onMAVConnected: {
+//                console.log("QML Change Connection " + connected)
+//                if (connected){
+//                    console.log("connected")
+//                    connectButton.image = "./resources/apmplanner/toolbar/disconnect.png"
+//                } else {
+//                    console.log("disconnected")
+//                    connectButton.image = "./resources/apmplanner/toolbar/connect.png"
+//                }
+//            }
+//    }
+
     Row {
         anchors.left: parent.left
         spacing: 2
diff --git a/src/ui/apmtoolbar.cpp b/src/ui/apmtoolbar.cpp
index 6ed411e..ff9a944 100644
--- a/src/ui/apmtoolbar.cpp
+++ b/src/ui/apmtoolbar.cpp
@@ -10,16 +10,18 @@ APMToolBar::APMToolBar(QWidget *parent):
     QDeclarativeView(parent)
 {
     // Configure our QML object
-    this->rootContext()->setContextProperty("globalObj", this);
     setSource(QUrl::fromLocalFile("qml/ApmToolBar.qml"));
     setResizeMode(QDeclarativeView::SizeRootObjectToView);
-
+    this->rootContext()->setContextProperty("globalObj", this);
     connect(LinkManager::instance(),SIGNAL(newLink(LinkInterface*)),
             this, SLOT(updateLinkDisplay(LinkInterface*)));
 
     if (LinkManager::instance()->getLinks().count()>=3) {
         updateLinkDisplay(LinkManager::instance()->getLinks().last());
     }
+
+    QObject *object = rootObject();
+    object->setProperty("connected", false);
 }
 
 void APMToolBar::setFlightViewAction(QAction *action)
@@ -111,6 +113,11 @@ void APMToolBar::connectMAV()
         result = !LinkManager::instance()->getLinks().last()->disconnect();
     }
     qDebug() << "result = " << result;
+
+    // Change the image to represent the state
+    QObject *object = rootObject();
+    object->setProperty("connected", result);
+
     emit MAVConnected(result);
 }
 
@@ -147,7 +154,7 @@ void APMToolBar::updateLinkDisplay(LinkInterface* newLink)
     qDebug() << "APMToolBar: updateLinkDisplay";
     QObject *object = rootObject();
 
-    if (newLink){
+    if (newLink && object){
         qint64 baudrate = newLink->getNominalDataRate();
         object->setProperty("baudrateLabel", QString::number(baudrate));