diff --git a/config/templates/package-scripts/preinst.erb b/config/templates/package-scripts/preinst.erb
index b9bdc05c905abc5d8f7d905a285cce3880736e1a_Y29uZmlnL3RlbXBsYXRlcy9wYWNrYWdlLXNjcmlwdHMvcHJlaW5zdC5lcmI=..9630fec67de868e83d302b6b799567a41dab972d_Y29uZmlnL3RlbXBsYXRlcy9wYWNrYWdlLXNjcmlwdHMvcHJlaW5zdC5lcmI= 100644
--- a/config/templates/package-scripts/preinst.erb
+++ b/config/templates/package-scripts/preinst.erb
@@ -23,6 +23,12 @@
   OLD_MINOR_VERSION=$(echo $OLD_VERSION_STRING | awk -F "." '{print $1"."$2}')
 fi
 
+# This removal is only to get GitLab.com unbroken, and is not needed for
+# self-managed installations. This will be removed before 14.8.0 release.
+echo "Removing problematic symlink directories"
+rm -rf /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/ci/parsers/security/validators/schemas/14* || true
+rm -rf /opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/gitlab/ci/parsers/security/validators/schemas/14* || true
+
 greater_version()
 {
   test "$(printf '%s\n' "$@" | sort -V | tail -n 1)" = "$1";