diff --git a/src/vkcv/Window.cpp b/src/vkcv/Window.cpp
index 45abcb77cb39de3df6a2ea7d633e2f5a92624234..b25ee61b10a8aa68cdd8f7e359cb4f854fed8d2c 100644
--- a/src/vkcv/Window.cpp
+++ b/src/vkcv/Window.cpp
@@ -33,6 +33,14 @@ namespace vkcv {
     }
 
     Window::~Window() {
+        Window::e_mouseButton.unlock();
+        Window::e_mouseMove.unlock();
+        Window::e_mouseScroll.unlock();
+        Window::e_resize.unlock();
+        Window::e_key.unlock();
+        Window::e_char.unlock();
+        Window::e_gamepad.unlock();
+
 		s_Windows.erase(std::find(s_Windows.begin(), s_Windows.end(), m_window));
         glfwDestroyWindow(m_window);