diff --git a/pcbnew/tools/pcb_viewer_tools.cpp b/pcbnew/tools/pcb_viewer_tools.cpp
index f4b9cfd963..6f213e7a3d 100644
--- a/pcbnew/tools/pcb_viewer_tools.cpp
+++ b/pcbnew/tools/pcb_viewer_tools.cpp
@@ -197,6 +197,9 @@ int PCB_VIEWER_TOOLS::MeasureTool( const TOOL_EVENT& aEvent )
     if( IsFootprintFrame() && !frame()->GetModel() )
         return 0;
 
+    if( frame()->IsCurrentTool( ACTIONS::measureTool ) )
+        return 0;
+
     auto& view     = *getView();
     auto& controls = *getViewControls();
 
@@ -221,7 +224,7 @@ int PCB_VIEWER_TOOLS::MeasureTool( const TOOL_EVENT& aEvent )
     controls.CaptureCursor( false );
     
     auto setCursor = 
-            [&]() 
+            [&]()
             { 
                 frame()->GetCanvas()->SetCurrentCursor( KICURSOR::MEASURE );
             };