diff --git a/config/software/ruby.rb b/config/software/ruby.rb
index 0859036c6841cc0ebb2b5993c54ecb058ca91341_Y29uZmlnL3NvZnR3YXJlL3J1YnkucmI=..828beec5580d3e4f3a76248e4c9ca88084fb0037_Y29uZmlnL3NvZnR3YXJlL3J1YnkucmI= 100644
--- a/config/software/ruby.rb
+++ b/config/software/ruby.rb
@@ -180,4 +180,10 @@
 
   # Install OpenSSL gem for FIPS fixes
   gem "install openssl --version '#{Gitlab::Util.get_env('OPENSSL_GEM_VERSION')}' --force --no-document"
+
+  block 'ensure default gem directories are preserved' do
+    Dir["#{install_dir}/embedded/lib/ruby/gems/#{ruby_version}.0/gems/*/"].each do |dir|
+      File.write(File.join(dir, '.gitkeep'), '') if File.directory?(dir)
+    end
+  end
 end