diff --git a/docker_push_manifest.sh b/docker_push_manifest.sh
deleted file mode 100755
index 210529f..0000000
--- a/docker_push_manifest.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash -ex
-#   ============LICENSE_START=======================================================
-#    Copyright (C) 2019 ENEA AB. All rights reserved.
-#    Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
-#   ================================================================================
-#   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.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-#   SPDX-License-Identifier: Apache-2.0
-#   ============LICENSE_END=========================================================
-
-# This script creates the multi-arch manifest for the docker images
-
-# shellcheck source=/dev/null
-source version.properties
-IMAGES="onap/policy-jre-alpine onap/policy-jre-debian onap/policy-jdk-alpine onap/policy-jdk-debian"
-ARCHES="amd64 arm64"
-TIMESTAMP=$(date -u +"%Y%m%d%H%M%S")
-MT_RELEASE='v0.9.0'
-
-# Download the manifest tool based on the host's architecture
-HOST_ARCH='amd64'
-if [ "$(uname -m)" == 'aarch64' ]; then
-    HOST_ARCH='arm64'
-fi
-wget https://github.com/estesp/manifest-tool/releases/download/${MT_RELEASE}/manifest-tool-linux-${HOST_ARCH} -O ./manifest-tool
-chmod u+x manifest-tool
-
-# Tag the images and push the manifest (do not fail if some prerequisite tags are not yet present)
-set +e
-for image in ${IMAGES}; do
-    # always (re)create both SNAPSHOT and STAGING tags to make sure everything is up to date
-    TAGS="latest ${release_version}-SNAPSHOT ${release_version}-SNAPSHOT-latest ${release_version}-STAGING-latest"
-    for tag in ${TAGS}; do
-        ./manifest-tool push from-args \
-            --ignore-missing \
-            --platforms "linux/${ARCHES// /,linux/}" \
-            --template "${image}:${tag}-ARCH" \
-            --target "${image}:${tag}"
-    done
-
-    # Create timestamped multiarch tag; if the script is ran from the merge
-    # job then add the SNAPSHOT suffix
-    [[ "${PARENT_JOB_NAME}" =~ merge ]] && snapshot_suffix="SNAPSHOT-"
-
-    ./manifest-tool push from-args \
-        --ignore-missing \
-        --platforms "linux/${ARCHES// /,linux/}" \
-        --template "${image}:${release_version}-${snapshot_suffix:-}ARCH" \
-        --target "${image}:${release_version}-${snapshot_suffix:-}${TIMESTAMP}"
-done
diff --git a/policy-jdk/alpine/pom.xml b/policy-jdk/alpine/pom.xml
index b890301..f866f80 100644
--- a/policy-jdk/alpine/pom.xml
+++ b/policy-jdk/alpine/pom.xml
@@ -44,7 +44,7 @@
                 <version>1.0</version>
                 <executions>
                     <execution>
-                        <phase>pre-clean</phase>
+                        <phase>validate</phase>
                         <goals>
                             <goal>execute</goal>
                         </goals>
@@ -63,12 +63,6 @@
                                 }
 
                                 println 'New tag for docker: ' + project.properties['project.docker.latesttag.version'];
-                                if ( "aarch64".equals(System.properties['os.arch']) ) {
-                                    project.properties['project.docker.arch'] = "arm64";
-                                } else {
-                                    project.properties['project.docker.arch'] = System.properties['os.arch'];
-                                }
-                                println 'Using arch for docker: ' + project.properties['project.docker.arch'];
                             </source>
                         </configuration>
                     </execution>
@@ -85,13 +79,14 @@
                     <pushRegistry>${docker.push.registry}</pushRegistry>
                     <images>
                         <image>
-                            <name>onap/policy-jdk-alpine:latest-${project.docker.arch}</name>
+                            <name>onap/policy-jdk-alpine</name>
                             <build>
                                 <cleanup>try</cleanup>
                                 <dockerFile>Dockerfile</dockerFile>
                                 <tags>
-                                    <tag>${project.version}-${project.docker.arch}</tag>
-                                    <tag>${project.docker.latesttag.version}-${project.docker.arch}</tag>
+                                    <tag>${project.version}</tag>
+                                    <tag>${project.version}-${maven.build.timestamp}</tag>
+                                    <tag>${project.docker.latesttag.version}</tag>
                                 </tags>
                             </build>
                         </image>
@@ -148,4 +143,3 @@
         </plugins>
     </build>
 </project>
-
diff --git a/policy-jdk/debian-slim/pom.xml b/policy-jdk/debian-slim/pom.xml
index 7b49e21..8d51a61 100644
--- a/policy-jdk/debian-slim/pom.xml
+++ b/policy-jdk/debian-slim/pom.xml
@@ -44,7 +44,7 @@
                 <version>1.0</version>
                 <executions>
                     <execution>
-                        <phase>pre-clean</phase>
+                        <phase>validate</phase>
                         <goals>
                             <goal>execute</goal>
                         </goals>
@@ -63,12 +63,6 @@
                                 }
 
                                 println 'New tag for docker: ' + project.properties['project.docker.latesttag.version'];
-                                if ( "aarch64".equals(System.properties['os.arch']) ) {
-                                    project.properties['project.docker.arch'] = "arm64";
-                                } else {
-                                    project.properties['project.docker.arch'] = System.properties['os.arch'];
-                                }
-                                println 'Using arch for docker: ' + project.properties['project.docker.arch'];
                             </source>
                         </configuration>
                     </execution>
@@ -85,13 +79,14 @@
                     <pushRegistry>${docker.push.registry}</pushRegistry>
                     <images>
                         <image>
-                            <name>onap/policy-jdk-debian:latest-${project.docker.arch}</name>
+                            <name>onap/policy-jdk-debian</name>
                             <build>
                                 <cleanup>try</cleanup>
                                 <dockerFile>Dockerfile</dockerFile>
                                 <tags>
-                                    <tag>${project.version}-${project.docker.arch}</tag>
-                                    <tag>${project.docker.latesttag.version}-${project.docker.arch}</tag>
+                                    <tag>${project.version}</tag>
+                                    <tag>${project.version}-${maven.build.timestamp}</tag>
+                                    <tag>${project.docker.latesttag.version}</tag>
                                 </tags>
                             </build>
                         </image>
@@ -148,4 +143,3 @@
         </plugins>
     </build>
 </project>
-
diff --git a/policy-jre/alpine/pom.xml b/policy-jre/alpine/pom.xml
index f042c42..e7ad536 100644
--- a/policy-jre/alpine/pom.xml
+++ b/policy-jre/alpine/pom.xml
@@ -44,7 +44,7 @@
                 <version>1.0</version>
                 <executions>
                     <execution>
-                        <phase>pre-clean</phase>
+                        <phase>validate</phase>
                         <goals>
                             <goal>execute</goal>
                         </goals>
@@ -63,12 +63,6 @@
                                 }
 
                                 println 'New tag for docker: ' + project.properties['project.docker.latesttag.version'];
-                                if ( "aarch64".equals(System.properties['os.arch']) ) {
-                                    project.properties['project.docker.arch'] = "arm64";
-                                } else {
-                                    project.properties['project.docker.arch'] = System.properties['os.arch'];
-                                }
-                                println 'Using arch for docker: ' + project.properties['project.docker.arch'];
                             </source>
                         </configuration>
                     </execution>
@@ -85,13 +79,14 @@
                     <pushRegistry>${docker.push.registry}</pushRegistry>
                     <images>
                         <image>
-                            <name>onap/policy-jre-alpine:latest-${project.docker.arch}</name>
+                            <name>onap/policy-jre-alpine</name>
                             <build>
                                 <cleanup>try</cleanup>
                                 <dockerFile>Dockerfile</dockerFile>
                                 <tags>
-                                    <tag>${project.version}-${project.docker.arch}</tag>
-                                    <tag>${project.docker.latesttag.version}-${project.docker.arch}</tag>
+                                    <tag>${project.version}</tag>
+                                    <tag>${project.version}-${maven.build.timestamp}</tag>
+                                    <tag>${project.docker.latesttag.version}</tag>
                                 </tags>
                             </build>
                         </image>
@@ -148,4 +143,3 @@
         </plugins>
     </build>
 </project>
-
diff --git a/policy-jre/debian-slim/pom.xml b/policy-jre/debian-slim/pom.xml
index ad2d85c..639516b 100644
--- a/policy-jre/debian-slim/pom.xml
+++ b/policy-jre/debian-slim/pom.xml
@@ -44,7 +44,7 @@
                 <version>1.0</version>
                 <executions>
                     <execution>
-                        <phase>pre-clean</phase>
+                        <phase>validate</phase>
                         <goals>
                             <goal>execute</goal>
                         </goals>
@@ -63,12 +63,6 @@
                                 }
 
                                 println 'New tag for docker: ' + project.properties['project.docker.latesttag.version'];
-                                if ( "aarch64".equals(System.properties['os.arch']) ) {
-                                    project.properties['project.docker.arch'] = "arm64";
-                                } else {
-                                    project.properties['project.docker.arch'] = System.properties['os.arch'];
-                                }
-                                println 'Using arch for docker: ' + project.properties['project.docker.arch'];
                             </source>
                         </configuration>
                     </execution>
@@ -85,13 +79,14 @@
 
                     <images>
                         <image>
-                            <name>onap/policy-jre-debian:latest-${project.docker.arch}</name>
+                            <name>onap/policy-jre-debian</name>
                             <build>
                                 <cleanup>try</cleanup>
                                 <dockerFile>Dockerfile</dockerFile>
                                 <tags>
-                                    <tag>${project.version}-${project.docker.arch}</tag>
-                                    <tag>${project.docker.latesttag.version}-${project.docker.arch}</tag>
+                                    <tag>${project.version}</tag>
+                                    <tag>${project.version}-${maven.build.timestamp}</tag>
+                                    <tag>${project.docker.latesttag.version}</tag>
                                 </tags>
                             </build>
                         </image>
