diff --git a/test/netstd/Client/Program.cs b/test/netstd/Client/Program.cs
index 92000da..0fe2cce 100644
--- a/test/netstd/Client/Program.cs
+++ b/test/netstd/Client/Program.cs
@@ -17,6 +17,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using ThriftTest;
 
 namespace Client
@@ -35,13 +36,13 @@
             }
 
             // run whatever mode is choosen, default to test impl
-            var firstArg = args.Length > 0 ? args[0] : string.Empty;
-            switch (firstArg)
+            var argslist = new List<string>(args);
+            switch (argslist.FirstOrDefault())
             {
-                case "client":
-                    Console.WriteLine("The 'client' argument is no longer required.");
-                    PrintHelp();
-                    return -1;
+                case "client":  // crosstest wants to pass this, so just emit a hint and ignore
+                    Console.WriteLine("Hint: The 'client' argument is no longer required.");
+                    argslist.RemoveAt(0);
+                    return TestClient.Execute(argslist);
                 case "--performance":
                 case "--performance-test":
                     return Tests.PerformanceTests.Execute();
@@ -49,7 +50,7 @@
                     PrintHelp();
                     return 0;
                 default:
-                    return TestClient.Execute(new List<string>(args));
+                    return TestClient.Execute(argslist);
             }
         }
 
