diff --git a/ground/openpilotgcs/src/plugins/rawhid/rawhidplugin.cpp b/ground/openpilotgcs/src/plugins/rawhid/rawhidplugin.cpp
index df1f77728..b5038b69c 100644
--- a/ground/openpilotgcs/src/plugins/rawhid/rawhidplugin.cpp
+++ b/ground/openpilotgcs/src/plugins/rawhid/rawhidplugin.cpp
@@ -54,8 +54,11 @@ RawHIDConnection::RawHIDConnection()
 RawHIDConnection::~RawHIDConnection()
 {
 	if (RawHidHandle)
-	{
-	}
+            if (RawHidHandle->isOpen())
+                RawHidHandle->close();
+
+        m_usbMonitor.quit();
+        m_usbMonitor.wait(500);
 }
 
 /**