diff --git a/run/scripts/update b/run/scripts/update
index 9c94789344a1f7ff0aea8ecd0fc0f47e33af8ace..1befa806fdf088996a8c3f0f38f66ce7d080c55b 100755
--- a/run/scripts/update
+++ b/run/scripts/update
@@ -1,45 +1,37 @@
 #!/bin/bash
 
-function cleanup {
-  NEWIMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1)
-  while true; do
-    if [[ $L3D_FORCE_UPDATE -eq 1 ]]; then
-      IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION})
-    else
-      IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION} | grep -v ${NEWIMAGEID})
-    fi
-    if [[ -n ${IMAGEID} ]]; then
-      while true; do
-        ID=$(docker container ls --all -q -f ancestor=${IMAGEID})
-        if [[ -n ${ID} ]]; then
-          echo "Removing outdated container ..."
-          docker kill ${ID} >/dev/null
-          docker rm ${ID} >/dev/null
-        else
-          break
-        fi
-      done
-      if [[ $L3D_FORCE_UPDATE -eq 0 ]]; then
-        echo "Removing outdated image ..."
-        docker rmi ${IMAGEID} >/dev/null
-      fi
-    else
-      break
-    fi
-  done
-  IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/node:8-jessie-slim)
+function removecontainer {
+  if [[ "$1" == "selective" ]]; then
+    IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/$2 | grep -v ${NEWIMAGEID})
+  else
+    IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/$2)
+  fi
   if [[ -n ${IMAGEID} ]]; then
     while true; do
       ID=$(docker container ls --all -q -f ancestor=${IMAGEID})
       if [[ -n ${ID} ]]; then
-        echo "Removing outdated node container ..."
+        echo "Removing outdated container ..."
         docker kill ${ID} >/dev/null
         docker rm ${ID} >/dev/null
       else
         break
       fi
     done
+    if [[ "$1" == "selective" ]]; then
+      echo "Removing outdated image ..."
+      docker rmi ${IMAGEID} >/dev/null
+    fi
+  fi
+}
+
+function cleanup {
+  if [[ $L3D_FORCE_UPDATE -eq 1 ]]; then
+    removecontainer all php-${PHP_VERSION}
+  else
+    NEWIMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1)
+    removecontainer selective php-${PHP_VERSION}
   fi
+  removecontainer all node:8-jessie-slim
 }
 
 if [[ -n ${PHP_VERSION} ]]; then