diff --git a/openecomp-ui/src/nfvo-utils/i18n/en.json b/openecomp-ui/src/nfvo-utils/i18n/en.json
index 3a61fb3..f0613bc 100644
--- a/openecomp-ui/src/nfvo-utils/i18n/en.json
+++ b/openecomp-ui/src/nfvo-utils/i18n/en.json
@@ -668,5 +668,12 @@
   "upload.status.validating": "Package is in validation",
   "upload.status.processing": "Package is being processed",
   "upload.status.success": "Package was successfully uploaded",
-  "upload.status.error": "Package upload resulted in error"
+  "upload.status.error": "Package upload resulted in error",
+  "vlm.delete.modal.title": "Delete Archived VLM",
+  "vlm.delete.archived.warning": "Deleting a Vendor Licence Model cannot be undone. Do you want to proceed?",
+  "vlm.delete.success": "The Vendor Licence Model was successfully deleted",
+  "vsp.delete.archived.warning": "Deleting a Vendor Software Product cannot be undone. Do you want to proceed?",
+  "vsp.delete.success": "The Vendor Software Product was successfully deleted",
+  "button.proceed.label": "Proceed",
+  "item.delete.success": "The item was successful deleted"
 }
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js
index d6a3c8b..6bcee2e 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js
@@ -17,7 +17,6 @@
 import Configuration from 'sdc-app/config/Configuration.js';
 import { actionTypes } from './LicenseModelConstants.js';
 import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js';
-import { actionsEnum as vcActionsEnum } from 'nfvo-components/panel/versionController/VersionControllerConstants.js';
 import i18n from 'nfvo-utils/i18n/i18n.js';
 import LicenseAgreementActionHelper from './licenseAgreement/LicenseAgreementActionHelper.js';
 import FeatureGroupsActionHelper from './featureGroups/FeatureGroupsActionHelper.js';
@@ -147,7 +146,7 @@
             const onCommit = comment => {
                 return this.performVCAction(dispatch, {
                     licenseModelId,
-                    action: vcActionsEnum.COMMIT,
+                    action: VersionControllerActionsEnum.COMMIT,
                     version,
                     comment
                 }).then(() => {
@@ -176,7 +175,7 @@
     performSubmitAction(dispatch, { licenseModelId, version }) {
         return putLicenseModelAction({
             itemId: licenseModelId,
-            action: vcActionsEnum.SUBMIT,
+            action: VersionControllerActionsEnum.SUBMIT,
             version
         }).then(() => {
             return ItemsHelper.checkItemStatus(dispatch, {
@@ -231,7 +230,7 @@
                 return Promise.resolve(updatedVersion);
             }
             if (!inMerge) {
-                if (action === vcActionsEnum.SUBMIT) {
+                if (action === VersionControllerActionsEnum.SUBMIT) {
                     return this.manageSubmitAction(dispatch, {
                         licenseModelId,
                         version,
@@ -248,7 +247,7 @@
                             itemType: itemTypes.LICENSE_MODEL,
                             itemId: licenseModelId
                         });
-                        if (action === vcActionsEnum.SYNC) {
+                        if (action === VersionControllerActionsEnum.SYNC) {
                             return MergeEditorActionHelper.analyzeSyncResult(
                                 dispatch,
                                 { itemId: licenseModelId, version }
@@ -286,6 +285,10 @@
                 }
             });
         });
+    },
+
+    deleteLicenseModel(licenseModelId) {
+        return RestAPIUtil.destroy(`${baseUrl()}/${licenseModelId}`);
     }
 };
 
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
index 61c0d0a..b7d5417 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
@@ -20,6 +20,9 @@
 import PermissionsActionHelper from '../permissions/PermissionsActionHelper.js';
 import { onboardingMethod as onboardingMethodType } from 'sdc-app/onboarding/softwareProduct/SoftwareProductConstants.js';
 import VersionsPageView from './VersionsPage.jsx';
+import { actionTypes as ModalActionTypes } from 'nfvo-components/modal/GlobalModalConstants';
+import i18n from 'nfvo-utils/i18n/i18n';
+import { itemTypes } from 'sdc-app/onboarding/versionsPage/VersionsPageConstants';
 
 export const mapStateToProps = ({
     users: { userInfo },
@@ -99,8 +102,29 @@
         onArchive: () => VersionsPageActionHelper.archiveItem(dispatch, itemId),
         onRestore: () =>
             VersionsPageActionHelper.restoreItemFromArchive(dispatch, itemId),
-        onDelete: () =>
-            VersionsPageActionHelper.deleteItemFromArchive(dispatch, itemId)
+        onDelete: () => {
+            let confirmMsgCode;
+            if (itemType === itemTypes.LICENSE_MODEL) {
+                confirmMsgCode = 'vlm.delete.archived.warning';
+            } else if (itemType === itemTypes.SOFTWARE_PRODUCT) {
+                confirmMsgCode = 'vsp.delete.archived.warning';
+            }
+            dispatch({
+                type: ModalActionTypes.GLOBAL_MODAL_WARNING,
+                data: {
+                    msg: i18n(confirmMsgCode),
+                    confirmationButtonText: i18n('button.proceed.label'),
+                    title: i18n('WARNING'),
+
+                    onConfirmed: () =>
+                        VersionsPageActionHelper.deleteArchivedItem(
+                            dispatch,
+                            itemId,
+                            itemType
+                        )
+                }
+            });
+        }
     };
 };
 
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
index 95c7530..e5bff51 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
@@ -28,7 +28,6 @@
     deleteAction
 }) => (
     <div className="deprecate-btn-wrapper">
-        ,
         {isArchived ? (
             <div>
                 <Button
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
index 6ade7ff..506d594 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
@@ -26,6 +26,7 @@
 } from 'sdc-app/onboarding/OnboardingConstants.js';
 import { notificationActions } from 'nfvo-components/notification/NotificationsConstants.js';
 import SoftwareProductActionHelper from 'sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper';
+import LicenseModelActionHelper from 'sdc-app/onboarding/licenseModel/LicenseModelActionHelper';
 
 const VersionsPageActionHelper = {
     fetchVersions(dispatch, { itemType, itemId }) {
@@ -114,14 +115,28 @@
         );
     },
 
-    async deleteItemFromArchive(dispatch, itemId) {
-        await SoftwareProductActionHelper.softwareProductDelete(itemId);
+    async deleteArchivedItem(dispatch, itemId, itemType) {
+        let successMsgCode;
+        if (itemType === itemTypes.LICENSE_MODEL) {
+            await LicenseModelActionHelper.deleteLicenseModel(itemId);
+            successMsgCode = 'vlm.delete.success';
+        } else if (itemType === itemTypes.SOFTWARE_PRODUCT) {
+            await SoftwareProductActionHelper.softwareProductDelete(itemId);
+            successMsgCode = 'vsp.delete.success';
+        } else {
+            console.error(
+                `Invalid item type "${itemType}". Expecting one of ${
+                    itemTypes.LICENSE_MODEL
+                } or ${itemTypes.SOFTWARE_PRODUCT}`
+            );
+            return;
+        }
         await ScreensHelper.loadScreen(dispatch, {
             screen: enums.SCREEN.ONBOARDING_CATALOG
         });
         dispatch(
             notificationActions.showSuccess({
-                message: i18n('Item successfully deleted')
+                message: i18n(successMsgCode)
             })
         );
     }
