diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 597e98f1ddadd84d4df031f95f7b1c70b08c48e0_LmdpdGxhYi1jaS55bWw=..7fca9d0c155cc0ecf7fdbf20b6a43cfeb8bcac6b_LmdpdGxhYi1jaS55bWw= 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -64,7 +64,7 @@
   BUNDLER_VERSION: "2.4.13"
   # NOTE: When `NEXT_RUBY_VERSION` is updated, flip
   # `USE_NEXT_RUBY_VERSION_IN_*` variables to false to avoid surprises.
-  NEXT_RUBY_VERSION: "3.1.4"
+  NEXT_RUBY_VERSION: "3.0.6"
   GET_GEO_TAG: "0.7.1"
   CANONICAL_PROJECT_PATH: 'gitlab-org/omnibus-gitlab'
   SECURITY_PROJECT_PATH: 'gitlab-org/security/omnibus-gitlab'
diff --git a/config/software/ruby.rb b/config/software/ruby.rb
index 597e98f1ddadd84d4df031f95f7b1c70b08c48e0_Y29uZmlnL3NvZnR3YXJlL3J1YnkucmI=..7fca9d0c155cc0ecf7fdbf20b6a43cfeb8bcac6b_Y29uZmlnL3NvZnR3YXJlL3J1YnkucmI= 100644
--- a/config/software/ruby.rb
+++ b/config/software/ruby.rb
@@ -28,7 +28,7 @@
 
 # NOTE: When this value is updated, flip `USE_NEXT_RUBY_VERSION_IN_*` variable
 # to false to avoid surprises.
-next_ruby_version = Gitlab::Util.get_env('NEXT_RUBY_VERSION') || '3.1.4'
+next_ruby_version = Gitlab::Util.get_env('NEXT_RUBY_VERSION') || '3.0.6'
 
 # MRs targeting stable branches should use current Ruby version and ignore next
 # Ruby version. Also, we provide `USE_OLD_RUBY_VERSION` variable to force usage
@@ -68,7 +68,6 @@
 
 version('2.7.8') { source sha256: 'c2dab63cbc8f2a05526108ad419efa63a67ed4074dbbcf9fc2b1ca664cb45ba0' }
 version('3.0.6') { source sha256: '6e6cbd490030d7910c0ff20edefab4294dfcd1046f0f8f47f78b597987ac683e' }
-version('3.1.4') { source sha256: 'a3d55879a0dfab1d7141fdf10d22a07dbf8e5cdc4415da1bde06127d5cc3c7b6' }
 
 source url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz"