diff --git a/src/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants.ts b/src/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants.ts
index 0cd65f9a6ffe685712f4660eaa27850603cfea75..79fab6da0b00d8ecbf3ea959d8fc8a964e105f7f 100644
--- a/src/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants.ts
@@ -14,6 +14,11 @@ export const BLACK_COLOR: Color = {
   rgb: -16777216,
 };
 
+export const TRANSPARENT_COLOR: Color = {
+  alpha: 0,
+  rgb: 0,
+};
+
 export const REACTION_ELEMENT_TYPES = {
   OPERATOR: 'operator',
   SQUARE: 'square',
diff --git a/src/components/Map/MapViewer/MapViewerVector/utils/config/reactionsLayer/processModelElements.ts b/src/components/Map/MapViewer/MapViewerVector/utils/config/reactionsLayer/processModelElements.ts
index ec32f17ca2619d61dab29a3bba9dea1da02cab11..c92820ed42c913c231fa006e2177da80b9f06490 100644
--- a/src/components/Map/MapViewer/MapViewerVector/utils/config/reactionsLayer/processModelElements.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/utils/config/reactionsLayer/processModelElements.ts
@@ -30,6 +30,7 @@ export default function processModelElements(
   mapBackgroundType: number,
   mapSize: MapSize,
 ): Array<MapElement | CompartmentCircle | CompartmentSquare | CompartmentPathway | Glyph> {
+  const overlaysVisible = Boolean(overlaysOrder.length);
   const validElements: Array<
     MapElement | CompartmentCircle | CompartmentSquare | CompartmentPathway | Glyph
   > = [];
@@ -74,7 +75,7 @@ export default function processModelElements(
         nameHorizontalAlign: element.nameHorizontalAlign as HorizontalAlign,
         text: element.name,
         fontSize: element.fontSize,
-        overlaysVisible: Boolean(overlaysOrder.length),
+        overlaysVisible,
         pointToProjection,
         mapInstance,
         vectorSource,
@@ -127,6 +128,7 @@ export default function processModelElements(
           bioShapes: shapes,
           overlays: groupedElementsOverlays[element.id],
           overlaysOrder,
+          overlaysVisible,
           getOverlayColor,
           mapBackgroundType,
           mapSize,
diff --git a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/BaseMultiPolygon.ts b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/BaseMultiPolygon.ts
index fab805158ec53aa81d2eefe3d88f359949f6620f..ff0f8e35266f36e552ef40dea1a4c07f7603b5e2 100644
--- a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/BaseMultiPolygon.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/BaseMultiPolygon.ts
@@ -47,6 +47,7 @@ export interface BaseMapElementProps {
   fillColor: Color;
   borderColor: Color;
   pointToProjection: UsePointToProjectionResult;
+  overlaysVisible: boolean;
   vectorSource: VectorSource;
   mapBackgroundType: number;
   mapSize: MapSize;
@@ -103,6 +104,8 @@ export default abstract class BaseMultiPolygon {
 
   pointToProjection: UsePointToProjectionResult;
 
+  overlaysVisible: boolean;
+
   vectorSource: VectorSource;
 
   mapBackgroundType: number;
@@ -132,6 +135,7 @@ export default abstract class BaseMultiPolygon {
     fillColor,
     borderColor,
     pointToProjection,
+    overlaysVisible,
     vectorSource,
     mapBackgroundType,
     mapSize,
@@ -157,6 +161,7 @@ export default abstract class BaseMultiPolygon {
     this.nameHorizontalAlign = nameHorizontalAlign;
     this.fillColor = fillColor;
     this.borderColor = borderColor;
+    this.overlaysVisible = overlaysVisible;
     this.pointToProjection = pointToProjection;
     this.vectorSource = vectorSource;
     this.mapBackgroundType = mapBackgroundType;
@@ -315,7 +320,11 @@ export default abstract class BaseMultiPolygon {
         textStyle.setText(text);
       }
       if (strokeStyle && lineWidth) {
-        if (lineWidth * scale < 0.08 && this.sboTerm !== COMPLEX_SBO_TERM) {
+        if (
+          !this.overlaysVisible &&
+          lineWidth * scale < 0.08 &&
+          this.sboTerm !== COMPLEX_SBO_TERM
+        ) {
           clonedStyle.setStroke(null);
         } else {
           strokeStyle.setWidth(lineWidth * scale);
diff --git a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/Compartment.ts b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/Compartment.ts
index 84bbba026d0215a47d00ddeb9e1e00b9decd034a..b851e10ae7959d90a2117167e6343cc35d664570 100644
--- a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/Compartment.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/Compartment.ts
@@ -13,7 +13,10 @@ import { rgbToHex } from '@/components/Map/MapViewer/MapViewerVector/utils/shape
 import getStroke from '@/components/Map/MapViewer/MapViewerVector/utils/shapes/style/getStroke';
 import { MapInstance } from '@/types/map';
 import { Color } from '@/types/models';
-import { MAP_ELEMENT_TYPES } from '@/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants';
+import {
+  MAP_ELEMENT_TYPES,
+  TRANSPARENT_COLOR,
+} from '@/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants';
 import VectorSource from 'ol/source/Vector';
 import { MapSize } from '@/redux/map/map.types';
 
@@ -113,6 +116,7 @@ export default abstract class Compartment extends BaseMultiPolygon {
       fillColor,
       borderColor,
       pointToProjection,
+      overlaysVisible,
       vectorSource,
       mapBackgroundType,
       mapSize,
@@ -148,7 +152,7 @@ export default abstract class Compartment extends BaseMultiPolygon {
       new Style({
         geometry: framePolygon,
         fill: this.overlaysVisible
-          ? undefined
+          ? getFill({ color: rgbToHex(TRANSPARENT_COLOR) })
           : getFill({ color: rgbToHex({ ...this.fillColor, alpha: 128 }) }),
         zIndex: this.zIndex,
       }),
@@ -179,7 +183,7 @@ export default abstract class Compartment extends BaseMultiPolygon {
           ? getStroke({ width: this.innerWidth })
           : getStroke({ color: rgbToHex(this.borderColor), width: this.innerWidth }),
         fill: this.overlaysVisible
-          ? undefined
+          ? getFill({ color: rgbToHex(TRANSPARENT_COLOR) })
           : getFill({ color: rgbToHex({ ...this.fillColor, alpha: 9 }) }),
         zIndex: this.zIndex,
       }),
diff --git a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/CompartmentPathway.ts b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/CompartmentPathway.ts
index 3c9f586af1f3a18e68f97a7929f107eecd48fffa..d51153e65ff94ef08906849a27a6706df801f3b0 100644
--- a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/CompartmentPathway.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/CompartmentPathway.ts
@@ -8,6 +8,7 @@ import {
 import {
   BLACK_COLOR,
   MAP_ELEMENT_TYPES,
+  TRANSPARENT_COLOR,
   WHITE_COLOR,
 } from '@/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants';
 import Polygon from 'ol/geom/Polygon';
@@ -104,6 +105,7 @@ export default class CompartmentPathway extends BaseMultiPolygon {
       fillColor,
       borderColor,
       pointToProjection,
+      overlaysVisible,
       vectorSource,
       mapBackgroundType,
       mapSize,
@@ -136,7 +138,7 @@ export default class CompartmentPathway extends BaseMultiPolygon {
       getStyle({
         geometry: compartmentPolygon,
         borderColor: this.borderColor,
-        fillColor: this.overlaysVisible ? undefined : { ...this.fillColor, alpha: 9 },
+        fillColor: this.overlaysVisible ? TRANSPARENT_COLOR : { ...this.fillColor, alpha: 9 },
         lineWidth: this.outerWidth,
         zIndex: this.zIndex,
       }),
diff --git a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.test.ts b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.test.ts
index a3c6c67997f8c3ced49597d5f4790b6cb58f3e3b..9dbf5336fcfc8dd1293ca55c43a01ccbfc86f258 100644
--- a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.test.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.test.ts
@@ -66,6 +66,7 @@ describe('MapElement', () => {
       nameHorizontalAlign: 'CENTER',
       pointToProjection: jest.fn(),
       mapInstance,
+      overlaysVisible: false,
       vectorSource: new VectorSource(),
       getOverlayColor: (): string => '#ffffff',
       mapBackgroundType: MapBackgroundsEnum.SEMANTIC,
diff --git a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.ts b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.ts
index fc005145c7b5eada1ad268fb2e2d2cefad5522d1..6ef7a733034a74132b8562a6993aea0535c08b13 100644
--- a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/MapElement.ts
@@ -14,6 +14,7 @@ import {
 import {
   BLACK_COLOR,
   MAP_ELEMENT_TYPES,
+  TRANSPARENT_COLOR,
   WHITE_COLOR,
 } from '@/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants';
 import BaseMultiPolygon from '@/components/Map/MapViewer/MapViewerVector/utils/shapes/elements/BaseMultiPolygon';
@@ -65,6 +66,7 @@ export type MapElementProps = {
   modifications?: Array<Modification>;
   overlays?: Array<OverlayBioEntityRender>;
   overlaysOrder?: Array<OverlayOrder>;
+  overlaysVisible: boolean;
   getOverlayColor: GetOverlayBioEntityColorByAvailableProperties;
   mapBackgroundType: number;
   mapSize: MapSize;
@@ -129,6 +131,7 @@ export default class MapElement extends BaseMultiPolygon {
     modifications = [],
     overlays = [],
     overlaysOrder = [],
+    overlaysVisible,
     getOverlayColor,
     mapBackgroundType,
     mapSize,
@@ -157,6 +160,7 @@ export default class MapElement extends BaseMultiPolygon {
       borderColor,
       pointToProjection,
       vectorSource,
+      overlaysVisible,
       mapBackgroundType,
       mapSize,
     });
@@ -275,7 +279,7 @@ export default class MapElement extends BaseMultiPolygon {
       activityBorderPolygon.set('lineWidth', 1);
       const activityBorderStyle = getStyle({
         geometry: activityBorderPolygon,
-        fillColor: { rgb: 0, alpha: 0 },
+        fillColor: TRANSPARENT_COLOR,
         lineDash: [3, 5],
         zIndex: this.zIndex,
       });
@@ -299,7 +303,7 @@ export default class MapElement extends BaseMultiPolygon {
       const elementStyle = getStyle({
         geometry: elementPolygon,
         borderColor: this.borderColor,
-        fillColor: this.overlaysOrder.length ? undefined : this.fillColor,
+        fillColor: this.overlaysVisible ? TRANSPARENT_COLOR : this.fillColor,
         lineWidth: this.lineWidth,
         lineDash: this.lineDash,
         zIndex: this.zIndex,
diff --git a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/layer/Layer.ts b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/layer/Layer.ts
index 9a91384f61b9cc86d3e76530e9e95bcf374301bf..ec4cab79d3fe8b6383b9bb32abb341d4812cb873 100644
--- a/src/components/Map/MapViewer/MapViewerVector/utils/shapes/layer/Layer.ts
+++ b/src/components/Map/MapViewer/MapViewerVector/utils/shapes/layer/Layer.ts
@@ -19,7 +19,10 @@ import getArrowFeature from '@/components/Map/MapViewer/MapViewerVector/utils/sh
 import { FeatureLike } from 'ol/Feature';
 import Style from 'ol/style/Style';
 import { ArrowTypeDict, LineTypeDict } from '@/redux/shapes/shapes.types';
-import { LAYER_ELEMENT_TYPES } from '@/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants';
+import {
+  LAYER_ELEMENT_TYPES,
+  TRANSPARENT_COLOR,
+} from '@/components/Map/MapViewer/MapViewerVector/MapViewerVector.constants';
 import getScaledElementStyle from '@/components/Map/MapViewer/MapViewerVector/utils/shapes/style/getScaledElementStyle';
 
 export interface LayerProps {
@@ -174,7 +177,7 @@ export default class Layer {
       const polygonStyle = getStyle({
         geometry: polygon,
         borderColor: oval.borderColor,
-        fillColor: { rgb: 0, alpha: 0 },
+        fillColor: TRANSPARENT_COLOR,
         lineWidth: oval.lineWidth,
         zIndex: oval.z,
       });