diff --git a/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts b/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts
index d45b2ecc7255656eff698fbdb5ef036cd3ada5ef..5be3fd4cbf657d07bc3e958bda4e2c8b1205d812 100644
--- a/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts
+++ b/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts
@@ -68,13 +68,18 @@ export const useOlMapListeners = ({ view, mapInstance }: UseOlMapListenersInput)
       return;
     }
 
-    mapInstance.getViewport().addEventListener('contextmenu', e => {
+    const rightClickEvent = (e: MouseEvent): Promise<void> | undefined => {
       e.preventDefault();
 
       coordinate.current = mapInstance.getEventCoordinate(e);
       pixel.current = mapInstance.getEventPixel(e);
 
       return handleRightClick(coordinate.current, pixel.current);
-    });
+    };
+
+    mapInstance.getViewport().addEventListener('contextmenu', rightClickEvent);
+
+    // eslint-disable-next-line consistent-return
+    return () => mapInstance.getViewport().removeEventListener('contextmenu', rightClickEvent);
   }, [mapInstance, handleRightClick]);
 };