diff --git a/recipe_modules/flutter_deps/api.py b/recipe_modules/flutter_deps/api.py
index bca5988..23d8c0e 100644
--- a/recipe_modules/flutter_deps/api.py
+++ b/recipe_modules/flutter_deps/api.py
@@ -262,7 +262,7 @@
     # For more, see CI section on https://docs.gradle.org/current/userguide/gradle_daemon.html#sec:disabling_the_daemon
     env['GRADLE_OPTS'] = '-Dorg.gradle.daemon=false'
 
-  def arm64ruby(self, env, env_prefixes):
+  def arm64ruby(self, env, env_prefixes, gem_dir):
     """Installs arm64 Ruby.
 
     Context of arm64ruby:
@@ -277,8 +277,10 @@
       self.m.cipd.ensure(ruby_path, ruby)
       paths = env_prefixes.get('PATH', [])
       paths.insert(0, ruby_path.join('bin'))
-      env_prefixes['PATH'] = paths
       env['RUBY_HOME'] = ruby_path.join('bin')
+      env['GEM_HOME'] = gem_dir.join('ruby', '3.1.0')
+      paths.append(gem_dir.join('ruby', '3.1.0', 'bin'))
+      env_prefixes['PATH'] = paths
 
   def gems(self, env, env_prefixes, gemfile_dir):
     """Installs mac gems.
@@ -288,16 +290,16 @@
       env_prefixes(dict):  Current environment prefixes variables.
       gemfile_dir(Path): The path to the location of the repository gemfile.
     """
-    arm64_ruby = 'arm64ruby'
     deps_list = self.m.properties.get('dependencies', [])
     deps = [d['dependency'] for d in deps_list]
     if 'gems' not in deps:
       # Noop if gems property is not set.
       return
-    if arm64_ruby in deps:
-      self.arm64ruby(env, env_prefixes)
     gem_file = self.m.repo_util.sdk_checkout_path().join('flutter')
     gem_dir = self.m.path['start_dir'].join('gems')
+    env['GEM_HOME'] = gem_dir
+    if self.m.platform.arch == 'arm':
+      self.arm64ruby(env, env_prefixes, gem_dir)
     with self.m.step.nest('Install gems'):
       self.m.file.ensure_directory('mkdir gems', gem_dir)
       # Temporarily install bundler
@@ -307,7 +309,6 @@
             ['gem', 'install', 'bundler', '--install-dir', '.'],
             infra_step=True,
         )
-      env['GEM_HOME'] = gem_dir
       paths = env_prefixes.get('PATH', [])
       temp_paths = copy.deepcopy(paths)
       temp_paths.append(gem_dir.join('bin'))
@@ -321,10 +322,7 @@
         self.m.step('install gems', ['bundler', 'install'], infra_step=True)
       # Update envs to the final destination.
       self.m.file.listdir('list bundle', gem_dir, recursive=True)
-      if arm64_ruby in deps:
-        env['GEM_HOME'] = gem_dir.join('ruby', '3.1.0')
-        paths.append(gem_dir.join('ruby', '3.1.0', 'bin'))
-      else:
+      if self.m.platform.arch != 'arm':
         env['GEM_HOME'] = gem_dir.join('ruby', '2.6.0')
         paths.append(gem_dir.join('ruby', '2.6.0', 'bin'))
       env_prefixes['PATH'] = paths
diff --git a/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json b/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json
index f351e94..be86c9e 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json
@@ -898,7 +898,7 @@
     "cwd": "[START_DIR]/dev/ci/mac",
     "env": {
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GEM_HOME": "[START_DIR]/gems",
+      "GEM_HOME": "[START_DIR]/gems/ruby/3.1.0",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -914,6 +914,7 @@
         "[CACHE]/ruby/bin",
         "[START_DIR]/flutter\\ sdk/bin",
         "[START_DIR]/flutter\\ sdk/bin/cache/dart-sdk/bin",
+        "[START_DIR]/gems/ruby/3.1.0/bin",
         "[START_DIR]/gems/bin",
         "[START_DIR]/flutter\\ sdk/bin",
         "[START_DIR]/flutter\\ sdk/bin/cache/dart-sdk/bin"
@@ -933,7 +934,7 @@
     "cwd": "[START_DIR]/dev/ci/mac",
     "env": {
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "GEM_HOME": "[START_DIR]/gems",
+      "GEM_HOME": "[START_DIR]/gems/ruby/3.1.0",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -949,6 +950,7 @@
         "[CACHE]/ruby/bin",
         "[START_DIR]/flutter\\ sdk/bin",
         "[START_DIR]/flutter\\ sdk/bin/cache/dart-sdk/bin",
+        "[START_DIR]/gems/ruby/3.1.0/bin",
         "[START_DIR]/gems/bin",
         "[START_DIR]/flutter\\ sdk/bin",
         "[START_DIR]/flutter\\ sdk/bin/cache/dart-sdk/bin"
diff --git a/recipe_modules/flutter_deps/examples/full.py b/recipe_modules/flutter_deps/examples/full.py
index 9bd51e2..ca9a7af 100644
--- a/recipe_modules/flutter_deps/examples/full.py
+++ b/recipe_modules/flutter_deps/examples/full.py
@@ -93,8 +93,9 @@
   )
 
   yield api.test(
-      'with-arm64ruby', api.properties(dependencies=[{"dependency": "gems"}, {"dependency": "arm64ruby"}]),
+      'with-arm64ruby', api.properties(dependencies=[{"dependency": "gems"}]),
       api.repo_util.flutter_environment_data(checkout_path),
+      api.platform.arch('arm'),
   )
 
   yield api.test(
