diff --git a/test/test_main_lib.cc b/test/test_main_lib.cc
index e35029b..486913b 100644
--- a/test/test_main_lib.cc
+++ b/test/test_main_lib.cc
@@ -143,19 +143,6 @@
     rtc::LogMessage::SetLogToStderr(absl::GetFlag(FLAGS_logs) ||
                                     absl::GetFlag(FLAGS_verbose));
 
-    // The sharding arguments take precedence over the sharding environment
-    // variables.
-    if (!absl::GetFlag(FLAGS_test_launcher_shard_index).empty() &&
-        !absl::GetFlag(FLAGS_test_launcher_total_shards).empty()) {
-      std::string shard_index =
-          "GTEST_SHARD_INDEX=" + absl::GetFlag(FLAGS_test_launcher_shard_index);
-      std::string total_shards =
-          "GTEST_TOTAL_SHARDS=" +
-          absl::GetFlag(FLAGS_test_launcher_total_shards);
-      putenv(shard_index.data());
-      putenv(total_shards.data());
-    }
-
     // InitFieldTrialsFromString stores the char*, so the char array must
     // outlive the application.
     field_trials_ = absl::GetFlag(FLAGS_force_fieldtrials);
@@ -191,6 +178,18 @@
         metrics_to_plot->clear();
       }
     }
+    // The sharding arguments take precedence over the sharding environment
+    // variables.
+    if (!absl::GetFlag(FLAGS_test_launcher_shard_index).empty() &&
+        !absl::GetFlag(FLAGS_test_launcher_total_shards).empty()) {
+      std::string shard_index =
+          "GTEST_SHARD_INDEX=" + absl::GetFlag(FLAGS_test_launcher_shard_index);
+      std::string total_shards =
+          "GTEST_TOTAL_SHARDS=" +
+          absl::GetFlag(FLAGS_test_launcher_total_shards);
+      putenv(total_shards.data());
+      putenv(shard_index.data());
+    }
 
 #if defined(WEBRTC_IOS)
     rtc::test::InitTestSuite(
