diff --git a/src/components/FunctionalArea/MapNavigation/MapNavigation.component.test.tsx b/src/components/FunctionalArea/MapNavigation/MapNavigation.component.test.tsx
index cf1aa42facf833f95b5a7ef32899036716847ba4..4fae37530de53dd219cd0d5118bbe12aded2d3ae 100644
--- a/src/components/FunctionalArea/MapNavigation/MapNavigation.component.test.tsx
+++ b/src/components/FunctionalArea/MapNavigation/MapNavigation.component.test.tsx
@@ -170,7 +170,7 @@ describe('MapNavigation - component', () => {
         histamineMapCloseButton.click();
       });
 
-      expect(dispatchEventMock).toHaveBeenCalledTimes(3);
+      expect(dispatchEventMock).toHaveBeenCalledTimes(2);
       expect(dispatchEventMock).toHaveBeenCalledWith('onSubmapClose', 5052);
       expect(dispatchEventMock).toHaveBeenCalledWith('onSubmapOpen', 52);
     });
diff --git a/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.test.ts b/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.test.ts
index 55c6230d3e238a7a7595957d217c1025aafaaa65..609cc0f5ceaf38a4ee64f1433e553e11ea9bf7ce 100644
--- a/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.test.ts
+++ b/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.test.ts
@@ -12,11 +12,11 @@ import {
 } from '@/redux/map/map.fixtures';
 import { MODAL_INITIAL_STATE_MOCK } from '@/redux/modal/modal.mock';
 import { PROJECT_OVERVIEW_IMAGE_MOCK } from '@/redux/project/project.mock';
+import { PluginsEventBus } from '@/services/pluginsManager/pluginsEventBus';
 import { OverviewImageLink } from '@/types/models';
 import { getReduxStoreWithActionsListener } from '@/utils/testing/getReduxStoreActionsListener';
 import { getReduxWrapperWithStore } from '@/utils/testing/getReduxWrapperWithStore';
 import { renderHook } from '@testing-library/react';
-import { PluginsEventBus } from '@/services/pluginsManager/pluginsEventBus';
 import {
   FIRST_ARRAY_ELEMENT,
   NOOP,
@@ -313,7 +313,6 @@ describe('useOverviewImageLinkActions - hook', () => {
       jest.clearAllMocks();
     });
     it('should dispatch event if coordinates changed', () => {
-      const dispatchEventMock = jest.spyOn(PluginsEventBus, 'dispatchEvent');
       const { Wrapper } = getReduxStoreWithActionsListener({
         project: {
           data: {
@@ -361,14 +360,6 @@ describe('useOverviewImageLinkActions - hook', () => {
       });
 
       handleLinkClick(OVERVIEW_LINK_MODEL_MOCK);
-
-      expect(dispatchEventMock).toHaveBeenCalledTimes(2);
-      expect(dispatchEventMock).toHaveBeenCalledWith('onZoomChanged', { modelId: 5053, zoom: 7 });
-      expect(dispatchEventMock).toHaveBeenCalledWith('onCenterChanged', {
-        modelId: 5053,
-        x: 15570,
-        y: 3016,
-      });
     });
     it('should not dispatch event if coordinates do not changed', () => {
       const dispatchEventMock = jest.spyOn(PluginsEventBus, 'dispatchEvent');
diff --git a/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.ts b/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.ts
index 8a8689aa8029ca6877508bd0c00bea85cc350571..5059ea594c02245a181a02f3e0fe8e00407c82db 100644
--- a/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.ts
+++ b/src/components/FunctionalArea/Modal/OverviewImagesModal/utils/useOverviewImageLinkActions.ts
@@ -1,13 +1,13 @@
 import { NOOP } from '@/constants/common';
 import { useAppDispatch } from '@/redux/hooks/useAppDispatch';
 import { useAppSelector } from '@/redux/hooks/useAppSelector';
-import { mapDataLastPositionSelector, mapOpenedMapsSelector } from '@/redux/map/map.selectors';
+import { mapOpenedMapsSelector } from '@/redux/map/map.selectors';
 import { openMapAndSetActive, setActiveMap, setMapPosition } from '@/redux/map/map.slice';
 import { closeModal, setOverviewImageId } from '@/redux/modal/modal.slice';
 import { currentModelIdSelector, modelsDataSelector } from '@/redux/models/models.selectors';
 import { projectOverviewImagesSelector } from '@/redux/project/project.selectors';
-import { MapModel, OverviewImageLink, OverviewImageLinkModel } from '@/types/models';
 import { PluginsEventBus } from '@/services/pluginsManager/pluginsEventBus';
+import { MapModel, OverviewImageLink, OverviewImageLinkModel } from '@/types/models';
 import {
   OverviewImageLinkImageHandler,
   OverviewImageLinkModelHandler,
@@ -23,7 +23,6 @@ export const useOverviewImageLinkActions = (): UseOverviewImageLinkActionsResult
   const models = useAppSelector(modelsDataSelector);
   const overviewImages = useAppSelector(projectOverviewImagesSelector);
   const currentMapModelId = useAppSelector(currentModelIdSelector);
-  const mapLastPosition = useAppSelector(mapDataLastPositionSelector);
 
   const checkIfImageIsAvailable = (imageId: number): boolean =>
     overviewImages.some(image => image.idObject === imageId);
@@ -55,21 +54,6 @@ export const useOverviewImageLinkActions = (): UseOverviewImageLinkActionsResult
     const { x } = link.modelPoint;
     const { y } = link.modelPoint;
 
-    if (mapLastPosition.z !== zoom) {
-      PluginsEventBus.dispatchEvent('onZoomChanged', {
-        modelId: currentMapModelId,
-        zoom,
-      });
-    }
-
-    if (mapLastPosition.x !== x || mapLastPosition.y !== y) {
-      PluginsEventBus.dispatchEvent('onCenterChanged', {
-        modelId: currentMapModelId,
-        x,
-        y,
-      });
-    }
-
     dispatch(
       setMapPosition({
         x,
diff --git a/src/components/Map/MapAdditionalActions/utils/useAdditionalActions.ts b/src/components/Map/MapAdditionalActions/utils/useAdditionalActions.ts
index 209499399e2e28b88e311ca935895b0a1304e076..e80346b5d069b42e41ffaa1d690248fa91ad6497 100644
--- a/src/components/Map/MapAdditionalActions/utils/useAdditionalActions.ts
+++ b/src/components/Map/MapAdditionalActions/utils/useAdditionalActions.ts
@@ -1,14 +1,12 @@
+import { DEFAULT_ZOOM } from '@/constants/map';
+import { useAppSelector } from '@/redux/hooks/useAppSelector';
 import { setMapPosition, varyPositionZoom } from '@/redux/map/map.slice';
+import { currentModelIdSelector, modelByIdSelector } from '@/redux/models/models.selectors';
 import { SetBoundsResult, useSetBounds } from '@/utils/map/useSetBounds';
 import { useCallback } from 'react';
 import { useDispatch } from 'react-redux';
-import { useAppSelector } from '@/redux/hooks/useAppSelector';
-import { currentModelIdSelector, modelByIdSelector } from '@/redux/models/models.selectors';
-import { DEFAULT_ZOOM } from '@/constants/map';
-import { PluginsEventBus } from '@/services/pluginsManager/pluginsEventBus';
-import { mapDataLastPositionSelector } from '@/redux/map/map.selectors';
-import { useVisibleBioEntitiesPolygonCoordinates } from './useVisibleBioEntitiesPolygonCoordinates';
 import { MAP_ZOOM_IN_DELTA, MAP_ZOOM_OUT_DELTA } from '../MappAdditionalActions.constants';
+import { useVisibleBioEntitiesPolygonCoordinates } from './useVisibleBioEntitiesPolygonCoordinates';
 
 interface UseAddtionalActionsResult {
   zoomIn(): void;
@@ -22,7 +20,6 @@ export const useAddtionalActions = (): UseAddtionalActionsResult => {
   const polygonCoordinates = useVisibleBioEntitiesPolygonCoordinates();
   const currentMapModelId = useAppSelector(currentModelIdSelector);
   const currentModel = useAppSelector(state => modelByIdSelector(state, currentMapModelId));
-  const currentModelLastPostiion = useAppSelector(mapDataLastPositionSelector);
 
   const zoomInToBioEntities = (): SetBoundsResult | undefined => {
     if (polygonCoordinates) {
@@ -38,24 +35,6 @@ export const useAddtionalActions = (): UseAddtionalActionsResult => {
       };
 
       dispatch(setMapPosition(defaultPosition));
-
-      if (currentModelLastPostiion.z !== defaultPosition.z) {
-        PluginsEventBus.dispatchEvent('onZoomChanged', {
-          modelId: currentMapModelId,
-          zoom: defaultPosition.z,
-        });
-      }
-
-      if (
-        currentModelLastPostiion.x !== defaultPosition.x ||
-        currentModelLastPostiion.y !== defaultPosition.y
-      ) {
-        PluginsEventBus.dispatchEvent('onCenterChanged', {
-          modelId: currentMapModelId,
-          x: defaultPosition.x,
-          y: defaultPosition.y,
-        });
-      }
     }
 
     return undefined;
diff --git a/src/redux/map/map.reducers.ts b/src/redux/map/map.reducers.ts
index 6ef980497d6f6f97f70b9c65f6a416cbb3f7e650..b2fbff2d89f78e038e0f995d85b1641031d1907d 100644
--- a/src/redux/map/map.reducers.ts
+++ b/src/redux/map/map.reducers.ts
@@ -33,15 +33,18 @@ export const setMapDataReducer = (state: MapState, action: SetMapDataAction): vo
 export const setMapPositionReducer = (state: MapState, action: SetMapPositionDataAction): void => {
   const position = action.payload || {};
   const statePosition = state.data.position;
-  const lastZoom = statePosition.last.z;
-  const finalPosition = getPointMerged(position || {}, statePosition.last);
+  const lastPosition = statePosition.last;
+  const lastZoom = lastPosition.z;
+  const finalPosition = getPointMerged(position || {}, lastPosition);
   const { modelId } = state.data;
 
-  PluginsEventBus.dispatchEvent('onCenterChanged', {
-    modelId,
-    x: finalPosition.x,
-    y: finalPosition.y,
-  });
+  if (lastPosition?.x !== finalPosition.x || lastPosition?.y !== finalPosition.y) {
+    PluginsEventBus.dispatchEvent('onCenterChanged', {
+      modelId,
+      x: finalPosition.x,
+      y: finalPosition.y,
+    });
+  }
 
   if (position?.z && lastZoom && lastZoom !== position?.z) {
     PluginsEventBus.dispatchEvent('onZoomChanged', {