diff --git a/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js b/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js
index 74cd63745c503e0d37e3c4a422eaad22b1d87acc..2ae5376cc4111a8e4d6fa2699d5ec90de882ebc4 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js
+++ b/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js
@@ -42,11 +42,3 @@ export const EMPTY_LIST_DESCRIPTION = s__(
 export const EMPTY_POLICY_PROJECT_DESCRIPTION = s__(
   'SecurityOrchestration|This %{namespaceType} is not linked to a security policy project',
 );
-
-export const POLICY_PROJECT_LINK_SUCCESS_MESSAGE = s__(
-  'SecurityOrchestration|Security policy project was linked successfully',
-);
-
-export const POLICY_PROJECT_LINK_ERROR_MESSAGE = s__(
-  'SecurityOrchestration|An error occurred assigning your security policy project',
-);
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policies/project_modal.vue b/ee/app/assets/javascripts/security_orchestration/components/policies/project_modal.vue
index 753558fa9b37630b31b86785376548082a931c8d..0c6ba9517bd172898ae5354c866d842cb50ec1ec 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policies/project_modal.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policies/project_modal.vue
@@ -4,10 +4,6 @@ import { s__, __ } from '~/locale';
 import linkSecurityPolicyProject from '../../graphql/mutations/link_security_policy_project.mutation.graphql';
 import unlinkSecurityPolicyProject from '../../graphql/mutations/unlink_security_policy_project.mutation.graphql';
 import InstanceProjectSelector from './instance_project_selector.vue';
-import {
-  POLICY_PROJECT_LINK_ERROR_MESSAGE,
-  POLICY_PROJECT_LINK_SUCCESS_MESSAGE,
-} from './constants';
 
 export default {
   i18n: {
@@ -16,9 +12,11 @@ export default {
       header: s__('SecurityOrchestration|Select security project'),
     },
     save: {
-      okLink: POLICY_PROJECT_LINK_SUCCESS_MESSAGE,
+      okLink: s__('SecurityOrchestration|Security policy project was linked successfully'),
       okUnlink: s__('SecurityOrchestration|Security policy project was unlinked successfully'),
-      errorLink: POLICY_PROJECT_LINK_ERROR_MESSAGE,
+      errorLink: s__(
+        'SecurityOrchestration|An error occurred assigning your security policy project',
+      ),
       errorUnlink: s__(
         'SecurityOrchestration|An error occurred unassigning your security policy project',
       ),
@@ -98,9 +96,11 @@ export default {
           variant: 'success',
           hasPolicyProject: true,
         });
-      } catch {
+      } catch (e) {
+        const text = e?.message || this.$options.i18n.save.errorLink;
+
         this.$emit('project-updated', {
-          text: this.$options.i18n.save.errorLink,
+          text,
           variant: 'danger',
           hasPolicyProject: false,
         });
@@ -129,9 +129,11 @@ export default {
           variant: 'success',
           hasPolicyProject: false,
         });
-      } catch {
+      } catch (e) {
+        const text = e?.message || this.$options.i18n.save.errorUnlink;
+
         this.$emit('project-updated', {
-          text: this.$options.i18n.save.errorUnlink,
+          text,
           variant: 'danger',
           hasPolicyProject: true,
         });
diff --git a/ee/spec/frontend/security_orchestration/components/policies/policy_project_modal_spec.js b/ee/spec/frontend/security_orchestration/components/policies/project_modal_spec.js
similarity index 92%
rename from ee/spec/frontend/security_orchestration/components/policies/policy_project_modal_spec.js
rename to ee/spec/frontend/security_orchestration/components/policies/project_modal_spec.js
index 6e1c21112f7748158cb1a109ba6caaaac46027c6..734553b80a656651b0055afaf0b7d3631474cbeb 100644
--- a/ee/spec/frontend/security_orchestration/components/policies/policy_project_modal_spec.js
+++ b/ee/spec/frontend/security_orchestration/components/policies/project_modal_spec.js
@@ -9,10 +9,6 @@ import ProjectModal from 'ee/security_orchestration/components/policies/project_
 import linkSecurityPolicyProject from 'ee/security_orchestration/graphql/mutations/link_security_policy_project.mutation.graphql';
 import unlinkSecurityPolicyProject from 'ee/security_orchestration/graphql/mutations/unlink_security_policy_project.mutation.graphql';
 import InstanceProjectSelector from 'ee/security_orchestration/components/policies/instance_project_selector.vue';
-import {
-  POLICY_PROJECT_LINK_ERROR_MESSAGE,
-  POLICY_PROJECT_LINK_SUCCESS_MESSAGE,
-} from 'ee/security_orchestration/components/policies/constants';
 import {
   mockLinkSecurityPolicyProjectResponses,
   mockUnlinkSecurityPolicyProjectResponses,
@@ -122,9 +118,9 @@ describe('ProjectModal Component', () => {
       'Unlinking a security project removes all policies stored in the linked security project. Save to confirm this action.';
 
     it.each`
-      mutationResult | expectedVariant | expectedText                                                    | expectedHasPolicyProject
-      ${'success'}   | ${'success'}    | ${'Security policy project was unlinked successfully'}          | ${false}
-      ${'failure'}   | ${'danger'}     | ${'An error occurred unassigning your security policy project'} | ${true}
+      mutationResult | expectedVariant | expectedText                                           | expectedHasPolicyProject
+      ${'success'}   | ${'success'}    | ${'Security policy project was unlinked successfully'} | ${false}
+      ${'failure'}   | ${'danger'}     | ${'unlink failed'}                                     | ${true}
     `(
       'unlinks a project and handles $mutationResult case',
       async ({ mutationResult, expectedVariant, expectedText, expectedHasPolicyProject }) => {
@@ -182,9 +178,9 @@ describe('ProjectModal Component', () => {
     });
 
     it.each`
-      messageType  | factoryFn                                                                                                  | text                                   | variant      | hasPolicyProject | selectedProject
-      ${'success'} | ${createWrapperAndSelectProject}                                                                           | ${POLICY_PROJECT_LINK_SUCCESS_MESSAGE} | ${'success'} | ${true}          | ${sampleProject}
-      ${'failure'} | ${() => createWrapperAndSelectProject({ mutationResult: mockLinkSecurityPolicyProjectResponses.failure })} | ${POLICY_PROJECT_LINK_ERROR_MESSAGE}   | ${'danger'}  | ${false}         | ${undefined}
+      messageType  | factoryFn                                                                                                  | text                                                 | variant      | hasPolicyProject | selectedProject
+      ${'success'} | ${createWrapperAndSelectProject}                                                                           | ${'Security policy project was linked successfully'} | ${'success'} | ${true}          | ${sampleProject}
+      ${'failure'} | ${() => createWrapperAndSelectProject({ mutationResult: mockLinkSecurityPolicyProjectResponses.failure })} | ${'link failed'}                                     | ${'danger'}  | ${false}         | ${undefined}
     `(
       'emits an event with $messageType message',
       async ({ factoryFn, text, variant, hasPolicyProject, selectedProject }) => {
diff --git a/ee/spec/frontend/security_orchestration/mocks/mock_apollo.js b/ee/spec/frontend/security_orchestration/mocks/mock_apollo.js
index 03c7e5a2b9f79a07868210f07b3808588449c4db..0d0e05404937b28588267fc494e911fcf296a139 100644
--- a/ee/spec/frontend/security_orchestration/mocks/mock_apollo.js
+++ b/ee/spec/frontend/security_orchestration/mocks/mock_apollo.js
@@ -57,13 +57,13 @@ export const mockLinkSecurityPolicyProjectResponses = {
   success: jest.fn().mockResolvedValue({ data: { securityPolicyProjectAssign: { errors: [] } } }),
   failure: jest
     .fn()
-    .mockResolvedValue({ data: { securityPolicyProjectAssign: { errors: ['mutation failed'] } } }),
+    .mockResolvedValue({ data: { securityPolicyProjectAssign: { errors: ['link failed'] } } }),
 };
 
 export const mockUnlinkSecurityPolicyProjectResponses = {
   success: jest.fn().mockResolvedValue({ data: { securityPolicyProjectUnassign: { errors: [] } } }),
   failure: jest.fn().mockResolvedValue({
-    data: { securityPolicyProjectUnassign: { errors: ['mutation failed'] } },
+    data: { securityPolicyProjectUnassign: { errors: ['unlink failed'] } },
   }),
 };