diff --git a/server/libusbev.cpp b/server/libusbev.cpp
index 00ffeeea4e8d233cfbfcf02fbcf081fda9933f1e..80fccd9180c399343025702994fa20b2bf034401 100644
--- a/server/libusbev.cpp
+++ b/server/libusbev.cpp
@@ -57,6 +57,7 @@ void LibUSBEventBridge::cbRemoved(int fd, void *user_data)
 	Watcher *w = self->mWatchers[fd];
 
 	ev_io_stop(self->mLoop, &w->io);
+	delete w;
 	self->mWatchers.erase(fd);
 }