diff --git a/run_operator_locally.sh b/run_operator_locally.sh
index 01f58dc74b22c78699b681eeec54bfba33ee7218..9791f0bf2cf098be8e112466c68b5463985a2f32 100755
--- a/run_operator_locally.sh
+++ b/run_operator_locally.sh
@@ -6,6 +6,7 @@
 # Known limitations:
 # 1) minikube provides a single node k8s cluster. That is, you will not be able test functions like pod
 #    migration between multiple nodes locally
+# 2) this script configures the operator via configmap, not the operator CRD
 
 
 # enable unofficial bash strict mode
@@ -43,7 +44,7 @@ function retry(){
 }
 
 function display_help(){
-    echo "Usage: $0 [ -r | --rebuild-operator ] [ -h | --help ] [ -f | --force-minikube-restart ] [ -t | --deploy-pg-to-namespace-test ]"
+    echo "Usage: $0 [ -r | --rebuild-operator ] [ -h | --help ] [ -n | --deploy-new-operator-image ] [ -t | --deploy-pg-to-namespace-test ]"
 }
 
 function clean_up(){
@@ -126,7 +127,7 @@ function deploy_self_built_image() {
     # docker should not attempt to fetch it from the registry due to imagePullPolicy
     sed --expression "s/\(image\:.*\:\).*$/\1$TAG/; s/smoke-tested-//" manifests/postgres-operator.yaml > "$PATH_TO_LOCAL_OPERATOR_MANIFEST"
 
-    retry "kubectl create -f \"$PATH_TO_LOCAL_OPERATOR_MANIFEST\"" "attempt to create $PATH_TO_LOCAL_OPERATOR_MANIFEST resource"
+    retry "kubectl apply -f \"$PATH_TO_LOCAL_OPERATOR_MANIFEST\"" "attempt to create $PATH_TO_LOCAL_OPERATOR_MANIFEST resource"
 }
 
 
@@ -142,17 +143,18 @@ function start_operator(){
         retry "kubectl  create -f manifests/\"$file\"" "attempt to create $file resource"
     done
 
+    cp  manifests/postgres-operator.yaml $PATH_TO_LOCAL_OPERATOR_MANIFEST
+
     if [[ "$should_build_custom_operator" = true ]]; then # set in main()
         deploy_self_built_image
     else
-        retry "kubectl  create -f manifests/postgres-operator.yaml" "attempt to create /postgres-operator.yaml resource"
+        retry "kubectl create -f ${PATH_TO_LOCAL_OPERATOR_MANIFEST}" "attempt to create ${PATH_TO_LOCAL_OPERATOR_MANIFEST} resource"
     fi
 
     local -r msg="Wait for the postgresql custom resource definition to register..."
     local -r cmd="kubectl get crd | grep --quiet 'postgresqls.acid.zalan.do'"
     retry "$cmd" "$msg "
 
-
 }
 
 
@@ -188,6 +190,7 @@ function check_health(){
     fi
 }
 
+
 function submit_postgresql_manifest(){
 
     echo "==== SUBMIT MINIMAL POSTGRES MANIFEST ==== "
@@ -206,6 +209,7 @@ function submit_postgresql_manifest(){
 
 }
 
+
 function main(){
 
     if ! [[ $(basename "$PWD") == "postgres-operator" ]]; then
@@ -217,7 +221,7 @@ function main(){
 
     local should_build_custom_operator=false
     local should_deploy_pg_to_namespace_test=false
-    local should_restart_minikube=false
+    local should_replace_operator_image=false
 
     while true
     do
@@ -227,12 +231,12 @@ function main(){
                 display_help
                 exit 0
                 ;;
-            -r | --rebuild-operator)
+            -r | --rebuild-operator) # with minikube restart
                 should_build_custom_operator=true
                 break
                 ;;
-            -f | --force-minikube-restart) # restarts take minutes so existing minikube is re-used by default
-                should_restart_minikube=true
+            -n | --deploy-new-operator-image) # without minikube restart that takes minutes
+                should_replace_operator_image=true
                 break
                 ;;
             -t | --deploy-pg-to-namespace-test) # to test multi-namespace support locally
@@ -244,6 +248,11 @@ function main(){
         esac
     done
 
+    if ${should_replace_operator_image}; then
+       deploy_self_built_image
+       exit 0
+    fi
+
     clean_up
     start_minikube
     start_operator
@@ -254,4 +263,5 @@ function main(){
     exit 0
 }
 
+
 main "$@"