diff --git a/docs/plugins/errors.md b/docs/plugins/errors.md
index 25f1210aeafb1852777856d94544782ab1bb3246..9958a801c236704ab1ea5157068b2d0e5b988857 100644
--- a/docs/plugins/errors.md
+++ b/docs/plugins/errors.md
@@ -47,3 +47,5 @@
 ## Plugin Errors
 
 - **Plugin "..." has crashed. Please contact the plugin developer for assistance**: This error occurs when a plugin encounters an unexpected error and crashes. Users are advised to contact the plugin developer for assistance.
+
+- **The URL specified in the plugin script does not match the actual script URL provided during the registration or loading process**: This error occurs when the URL specified in the plugin script does not match the script URL provided during the registration or loading process.
diff --git a/src/services/pluginsManager/errorMessages.ts b/src/services/pluginsManager/errorMessages.ts
index 029b14e0e9f0f6256aca438d65b7e1914b219ff0..4dc1839ea0fd756e1b81ba36e6eb5a5342305bcb 100644
--- a/src/services/pluginsManager/errorMessages.ts
+++ b/src/services/pluginsManager/errorMessages.ts
@@ -15,3 +15,5 @@ export const ERROR_INVALID_MODEL_ID_TYPE_FOR_RETRIEVAL =
 export const ERROR_INVALID_EVENT_TYPE = (type: string): string => `Invalid event type: ${type}`;
 export const ERROR_PLUGIN_CRASH = (pluginName: string): string =>
   `Plugin "${pluginName}" has crashed. Please contact the plugin developer for assistance`;
+export const ERROR_PLUGIN_URL_MISMATCH =
+  'The URL specified in the plugin script does not match the actual script URL provided during the registration or loading process';
diff --git a/src/services/pluginsManager/pluginsManager.test.ts b/src/services/pluginsManager/pluginsManager.test.ts
index f6ef08cecd05c2bcfc9bee92b4af7a5129d7c554..e7908afce0f63f192d9d070be8c323bfdfbfde1e 100644
--- a/src/services/pluginsManager/pluginsManager.test.ts
+++ b/src/services/pluginsManager/pluginsManager.test.ts
@@ -5,6 +5,7 @@ import { configurationFixture } from '@/models/fixtures/configurationFixture';
 import { store } from '@/redux/store';
 import { PluginsManager } from './pluginsManager';
 import { configurationMapper } from './pluginsManager.utils';
+import { ERROR_PLUGIN_URL_MISMATCH } from './errorMessages';
 
 jest.mock('../../redux/store');
 
@@ -34,6 +35,7 @@ describe('PluginsManager', () => {
 
   afterEach(() => {
     global.window = originalWindow;
+    PluginsManager.hashedPlugins = {};
   });
 
   afterEach(() => {
@@ -84,6 +86,9 @@ describe('PluginsManager', () => {
     const pluginName = 'TestPlugin';
     const pluginVersion = '1.0.0';
     const pluginUrl = 'https://example.com/test-plugin.js';
+    const pluginScript = 'console.log("Hello, Plugin!");';
+
+    PluginsManager.setHashedPlugin({ pluginUrl, pluginScript });
 
     const result = PluginsManager.registerPlugin({ pluginName, pluginVersion, pluginUrl });
 
@@ -126,4 +131,22 @@ describe('PluginsManager', () => {
 
     expect(wrapper?.childElementCount).toEqual(ZERO);
   });
+  it('should throw error if plugin url from script does not match actual script url', () => {
+    const pluginName = 'TestPlugin';
+    const pluginVersion = '1.0.0';
+    const pluginUrl = 'https://example.com/test-plugin.js';
+    const scriptPluginUrl = 'https://example.com/test-plugin.js?param_x';
+    const hash = '128ce10ae1b46ec4bc6d7c07278b5c9e';
+    PluginsManager.hashedPlugins = {
+      [pluginUrl]: hash,
+    };
+
+    expect(() =>
+      PluginsManager.registerPlugin({
+        pluginName,
+        pluginVersion,
+        pluginUrl: scriptPluginUrl,
+      }),
+    ).toThrow(ERROR_PLUGIN_URL_MISMATCH);
+  });
 });
diff --git a/src/services/pluginsManager/pluginsManager.ts b/src/services/pluginsManager/pluginsManager.ts
index bb42708664d32c5d9119619c242337d20839c7d6..03d06d80cb1cf4b086937f1ad647d7f354a1b2c2 100644
--- a/src/services/pluginsManager/pluginsManager.ts
+++ b/src/services/pluginsManager/pluginsManager.ts
@@ -35,6 +35,7 @@ import { fitBounds } from './map/fitBounds';
 import { getOpenMapId } from './map/getOpenMapId';
 import { setLegend } from './legend/setLegend';
 import { removeLegend } from './legend/removeLegend';
+import { ERROR_PLUGIN_URL_MISMATCH } from './errorMessages';
 
 export const PluginsManager: PluginsManagerType = {
   hashedPlugins: {},
@@ -115,6 +116,10 @@ export const PluginsManager: PluginsManagerType = {
   registerPlugin({ pluginName, pluginVersion, pluginUrl }) {
     const hash = PluginsManager.hashedPlugins[pluginUrl];
 
+    if (!hash) {
+      throw new Error(ERROR_PLUGIN_URL_MISMATCH);
+    }
+
     store.dispatch(
       registerPlugin({
         hash,