diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp
index 8bb90e45b..0e2fbe3be 100644
--- a/xs/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp
@@ -3246,7 +3246,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
             if (evt.LeftDown())
             {
                 m_gizmos.delete_current_grabber(true);
-                m_wait_for_left_up = true;
+#if ENABLE_GIZMOS_RESET
+                m_mouse.ignore_up_event = true;
+#endif // ENABLE_GIZMOS_RESET
                 m_dirty = true;
             }
         }
@@ -3543,9 +3545,6 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
     }
     else if (evt.LeftUp() || evt.MiddleUp() || evt.RightUp())
     {
-        if (evt.LeftUp() && m_wait_for_left_up)
-            m_wait_for_left_up = false;
-        else
         if (m_layers_editing.state != LayersEditing::Unknown)
         {
             m_layers_editing.state = LayersEditing::Unknown;
diff --git a/xs/src/slic3r/GUI/GLCanvas3D.hpp b/xs/src/slic3r/GUI/GLCanvas3D.hpp
index 12bf973f7..537a0624f 100644
--- a/xs/src/slic3r/GUI/GLCanvas3D.hpp
+++ b/xs/src/slic3r/GUI/GLCanvas3D.hpp
@@ -494,7 +494,6 @@ class GLCanvas3D
     bool m_shader_enabled;
     bool m_dynamic_background_enabled;
     bool m_multisample_allowed;
-    bool m_wait_for_left_up;
 
     std::string m_color_by;
     std::string m_select_by;