diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
index fcae34aec8566..fb11c01bf9a3f 100644
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -7,6 +7,8 @@
 #include "base/command_line.h"
 #include "base/no_destructor.h"
 #include "base/strings/strcat.h"
+#include "base/strings/stringprintf.h"
+#include "base/system/sys_info.h"
 #include "build/branding_buildflags.h"
 #include "components/embedder_support/switches.h"
 #include "components/version_info/version_info.h"
@@ -138,9 +140,6 @@ blink::UserAgentMetadata GetUserAgentMetadata() {
   metadata.brand_version_list = GetBrandVersionList();
   metadata.full_version = version_info::GetVersionNumber();
   metadata.platform = GetPlatformForUAMetadata();
-  metadata.platform_version =
-      content::GetOSVersion(content::IncludeAndroidBuildNumber::Exclude,
-                            content::IncludeAndroidModel::Exclude);
   metadata.architecture = content::GetLowEntropyCpuArchitecture();
   metadata.model = content::BuildModelInfo();
 
@@ -150,6 +149,11 @@ blink::UserAgentMetadata GetUserAgentMetadata() {
       switches::kUseMobileUserAgent);
 #endif
 
+  int32_t major, minor, bugfix = 0;
+  base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &bugfix);
+  metadata.platform_version =
+      base::StringPrintf("%d.%d.%d", major, minor, bugfix);
+
   return metadata;
 }
 
diff --git a/components/embedder_support/user_agent_utils_unittest.cc b/components/embedder_support/user_agent_utils_unittest.cc
index 1debab3ce7965..0e2176314834d 100644
--- a/components/embedder_support/user_agent_utils_unittest.cc
+++ b/components/embedder_support/user_agent_utils_unittest.cc
@@ -289,9 +289,11 @@ TEST(UserAgentUtilsTest, UserAgentMetadata) {
   EXPECT_TRUE(contains_product_brand_version);
 
   EXPECT_EQ(metadata.full_version, version_info::GetVersionNumber());
+
+  int32_t major, minor, bugfix = 0;
+  base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &bugfix);
   EXPECT_EQ(metadata.platform_version,
-            content::GetOSVersion(content::IncludeAndroidBuildNumber::Exclude,
-                                  content::IncludeAndroidModel::Exclude));
+            base::StringPrintf("%d.%d.%d", major, minor, bugfix));
   // This makes sure no extra information is added to the platform version.
   EXPECT_EQ(metadata.platform_version.find(";"), std::string::npos);
   // TODO(crbug.com/1103047): This can be removed/re-refactored once we use