diff --git a/docker/keystone/extend_start.sh b/docker/keystone/extend_start.sh
index b1a6d334b2..c7c8ad83d8 100644
--- a/docker/keystone/extend_start.sh
+++ b/docker/keystone/extend_start.sh
@@ -6,6 +6,13 @@ if [[ "${KOLLA_BASE_DISTRO}" == "ubuntu" || \
     source /etc/apache2/envvars
 fi
 
+# NOTE(pbourke): httpd will not clean up after itself in some cases which
+# results in the container not being able to restart. Unconfirmed if this
+# happens on Ubuntu. (bug #1489676)
+if [[ "${KOLLA_BASE_DISTRO}" =~ fedora|centos|oraclelinux|rhel ]]; then
+    rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd*
+fi
+
 # Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
 # of the KOLLA_BOOTSTRAP variable being set, including empty.
 if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then