diff --git a/openecomp-ui/resources/scss/modules/_versionsPage.scss b/openecomp-ui/resources/scss/modules/_versionsPage.scss
index 0f2e83e..bdf1c61 100644
--- a/openecomp-ui/resources/scss/modules/_versionsPage.scss
+++ b/openecomp-ui/resources/scss/modules/_versionsPage.scss
@@ -64,6 +64,9 @@
             justify-content: flex-end;
             margin-bottom: 10px;
             align-self: center;
+            .deprecate-btn {
+                margin-left: 10px;
+            }
             .svg-icon-wrapper {
                 &:hover {
                     fill: $light-blue;
diff --git a/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js
index bbca87f..3ac3efd 100644
--- a/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js
+++ b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js
@@ -4,9 +4,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js
index 90bf9f9..6d74bad 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js
@@ -715,6 +715,10 @@
         }
     },
 
+    softwareProductDelete(itemId) {
+        return RestAPIUtil.destroy(`${baseUrl()}/${itemId}`);
+    },
+
     setIsValidityData(dispatch, { isValidityData }) {
         dispatch({
             type: actionTypes.softwareProductEditor.IS_VALIDITY_DATA_CHANGED,
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
index bbf4533..61c0d0a 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
@@ -98,7 +98,9 @@
         },
         onArchive: () => VersionsPageActionHelper.archiveItem(dispatch, itemId),
         onRestore: () =>
-            VersionsPageActionHelper.restoreItemFromArchive(dispatch, itemId)
+            VersionsPageActionHelper.restoreItemFromArchive(dispatch, itemId),
+        onDelete: () =>
+            VersionsPageActionHelper.deleteItemFromArchive(dispatch, itemId)
     };
 };
 
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
index 6be0565..95c7530 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
@@ -21,22 +21,36 @@
 import { Button } from 'onap-ui-react';
 import i18n from 'nfvo-utils/i18n/i18n.js';
 
-const ArchiveRestoreButton = ({ depricateAction, title, isArchived }) => (
+const ArchiveRestoreButton = ({
+    deprecateAction,
+    title,
+    isArchived,
+    deleteAction
+}) => (
     <div className="deprecate-btn-wrapper">
+        ,
         {isArchived ? (
-            <Button
-                data-test-id="deprecate-action-btn"
-                className="depricate-btn"
-                onClick={depricateAction}>
-                {title}
-            </Button>
+            <div>
+                <Button
+                    data-test-id="deprecate-action-btn"
+                    className="deprecate-btn"
+                    onClick={deprecateAction}>
+                    {title}
+                </Button>
+                <Button
+                    data-test-id="delete-action-btn"
+                    className="deprecate-btn"
+                    onClick={deleteAction}>
+                    {i18n('DELETE')}
+                </Button>
+            </div>
         ) : (
             <SVGIcon
                 data-test-id="deprecate-action-btn"
                 name="archiveBox"
                 title={i18n('Archive')}
                 color="secondary"
-                onClick={depricateAction}
+                onClick={deprecateAction}
             />
         )}
     </div>
@@ -50,6 +64,7 @@
     itemName,
     isArchived,
     onRestore,
+    onDelete,
     onArchive,
     isCollaborator
 }) => {
@@ -62,9 +77,10 @@
             {isCollaborator && (
                 <ArchiveRestoreButton
                     isArchived={isArchived}
-                    depricateAction={
+                    deprecateAction={
                         isArchived ? () => onRestore() : () => onArchive()
                     }
+                    deleteAction={isArchived ? () => onDelete() : null}
                     title={i18n(isArchived ? 'RESTORE' : 'ARCHIVE')}
                 />
             )}
@@ -95,7 +111,8 @@
             isManual,
             isArchived,
             onArchive,
-            onRestore
+            onRestore,
+            onDelete
         } = this.props;
         const depricatedTitle = isArchived ? i18n('(Archived)') : '';
         return (
@@ -106,6 +123,7 @@
                     onArchive={onArchive}
                     isArchived={isArchived}
                     onRestore={onRestore}
+                    onDelete={onDelete}
                     isCollaborator={isCollaborator}
                 />
                 <PermissionsView
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
index 8087dce..6ade7ff 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
@@ -14,8 +14,7 @@
  * permissions and limitations under the License.
  */
 import ItemsHelper from '../../common/helpers/ItemsHelper.js';
-import { actionTypes } from './VersionsPageConstants.js';
-import { itemTypes } from './VersionsPageConstants.js';
+import { actionTypes, itemTypes } from './VersionsPageConstants.js';
 import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
 import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js';
 import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -26,6 +25,7 @@
     onboardingActions
 } from 'sdc-app/onboarding/OnboardingConstants.js';
 import { notificationActions } from 'nfvo-components/notification/NotificationsConstants.js';
+import SoftwareProductActionHelper from 'sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper';
 
 const VersionsPageActionHelper = {
     fetchVersions(dispatch, { itemType, itemId }) {
@@ -112,6 +112,18 @@
                 message: i18n('Item successfully restored')
             })
         );
+    },
+
+    async deleteItemFromArchive(dispatch, itemId) {
+        await SoftwareProductActionHelper.softwareProductDelete(itemId);
+        await ScreensHelper.loadScreen(dispatch, {
+            screen: enums.SCREEN.ONBOARDING_CATALOG
+        });
+        dispatch(
+            notificationActions.showSuccess({
+                message: i18n('Item successfully deleted')
+            })
+        );
     }
 };
 
