diff --git a/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs b/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
index 9ae12776f3c6dca7767cffdc215c8b6c41c3f8a1..4ed93c7eca24a3372c56ede53bb6e926f60c8d62 100644
--- a/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
+++ b/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
@@ -69,5 +69,13 @@ namespace Grpc.Core.Tests
 
             Assert.IsFalse(object.ReferenceEquals(env1, env2));
         }
+
+        [Test]
+        public void GetCoreVersionString()
+        {
+            var coreVersion = GrpcEnvironment.GetCoreVersionString();
+            var parts = coreVersion.Split('.');
+            Assert.AreEqual(4, parts.Length);
+        }
     }
 }
diff --git a/src/csharp/Grpc.Core/GrpcEnvironment.cs b/src/csharp/Grpc.Core/GrpcEnvironment.cs
index 29a6ea7872428962dbe15889128619a892437068..1bb83c9962d25b94f911d946407925538ac7ecb5 100644
--- a/src/csharp/Grpc.Core/GrpcEnvironment.cs
+++ b/src/csharp/Grpc.Core/GrpcEnvironment.cs
@@ -169,7 +169,7 @@ namespace Grpc.Core
         /// <summary>
         /// Gets version of gRPC C core.
         /// </summary>
-        internal string GetCoreVersionString()
+        internal static string GetCoreVersionString()
         {
             var ptr = grpcsharp_version_string();  // the pointer is not owned
             return Marshal.PtrToStringAnsi(ptr);