diff --git a/diskimage_builder/elements/dib-python/README.rst b/diskimage_builder/elements/dib-python/README.rst
index 2ed7b5ad9..09afe76d5 100644
--- a/diskimage_builder/elements/dib-python/README.rst
+++ b/diskimage_builder/elements/dib-python/README.rst
@@ -2,23 +2,29 @@
 dib-python
 ==========
 
-Adds a symlink to `/usr/local/bin/dib-python` which points at either a
-`python2` or `python3` executable as appropriate.
+Adds a symlink to ``/usr/local/bin/dib-python`` which points at either a
+``python2`` or ``python3`` executable as appropriate.
 
 In-chroot scripts should use this as their interpreter
-(`#!/usr/local/bin/dib-python`) to make scripts that are compatible
-with both `python2` and `python3`.  We can not assume
-`/usr/bin/python` exists, as some platforms have started shipping with
+(``#!/usr/local/bin/dib-python``) to make scripts that are compatible
+with both ``python2`` and ``python3``.  We can not assume
+``/usr/bin/python`` exists, as some platforms have started shipping with
 only Python 3.
 
-`DIB_PYTHON` will be exported as the python interpreter.  You should
-use this instead of `python script.py` (e.g. `${DIB_PYTHON}
-script.py`).  Note you can also call `/usr/local/bin/dib-python
-script.py` but in some circumstances, such as creating a `virtualenv`,
-it can create somewhat confusing references to `dib-python` that
+``DIB_PYTHON`` will be exported as the python interpreter.  You should
+use this instead of ``python script.py`` (e.g. ``${DIB_PYTHON}
+script.py``).  Note you can also call ``/usr/local/bin/dib-python
+script.py`` but in some circumstances, such as creating a ``virtualenv``,
+it can create somewhat confusing references to ``dib-python`` that
 remain in the built image.
 
 This does not install a python if one does not exist, and instead fails.
 
-This also exports a variable `DIB_PYTHON_VERSION` which will either be
+This also exports a variable ``DIB_PYTHON_VERSION`` which will either be
 '2' or '3' depending on the python version which dib-python points to.
+
+
+.. note::
+
+  The ``dib-python`` interpreter will be removed in ``cleanup.d``.  It
+  is only intended for build scripts.
diff --git a/diskimage_builder/elements/dib-python/cleanup.d/50-dib-python b/diskimage_builder/elements/dib-python/cleanup.d/50-dib-python
new file mode 100755
index 000000000..028ad8586
--- /dev/null
+++ b/diskimage_builder/elements/dib-python/cleanup.d/50-dib-python
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
+    set -x
+fi
+set -eu
+set -o pipefail
+
+# Remove dib-python wrapper.  Nothing else should be running in chroot
+# and required this any more.
+
+sudo unlink $TARGET_ROOT/usr/local/bin/dib-python # dib-lint: safe_sudo