diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java
index 5c2ee4a..96de153 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java
@@ -207,7 +207,7 @@
      * (missing comma), or the value {@code no - store} (whitespace within value).
      *
      * @param name the message header.
-     * @param valueSeparatorRegex String or regular expression that separates the header value into single values. 
+     * @param valueSeparatorRegex Regular expression that separates the header value into single values. 
      * {@code null} does not split.
      * @param valuePredicate value must fulfil this predicate.
      * @return {@code true} if and only if a header with the given name exists, having either a whitespace-trimmed value
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java
index c6b6d14..cf75b20 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java
@@ -99,7 +99,7 @@
      * (missing comma), or the value {@code no - store} (whitespace within value).
      *
      * @param name the message header.
-     * @param valueSeparatorRegex String or regular expression that separates the header value into single values. 
+     * @param valueSeparatorRegex Regular expression that separates the header value into single values. 
      * {@code null} does not split.
      * @param valuePredicate value must fulfil this predicate.
      * @return {@code true} if and only if a header with the given name exists, having either a whitespace-trimmed value
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java
index 90dc2f7..debf1a1 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java
@@ -882,7 +882,7 @@
           //Shouldn't find first value when separator character is incorrect
           assertFalse(context.containsHeaderString("header1", ";", "value1"::equalsIgnoreCase));
           //Test regular expression
-          assertFalse(context.containsHeaderString("header1", "; | ,", "value2"::equalsIgnoreCase));
+          assertTrue(context.containsHeaderString("header1", ";|,", "value2"::equalsIgnoreCase));
           //White space in value not trimmed
           assertFalse(context.containsHeaderString("header1", "whitespace"::equalsIgnoreCase));
           //Multiple character separator
@@ -904,7 +904,7 @@
     Response response = invoke(invocation);
 
     String entity = response.readEntity(String.class);
-    assertTrue(entity.contains("Sucess"));
+    assertTrue(entity.contains("Success"));
   }
 
   
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientresponsecontext/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientresponsecontext/JAXRSClientIT.java
index a0123ee..45cc716 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientresponsecontext/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientresponsecontext/JAXRSClientIT.java
@@ -455,7 +455,7 @@
               //Shouldn't find first value when separator character is incorrect
               assertFalse(responseContext.containsHeaderString("header1", ";", "value1"::equalsIgnoreCase));
               //Test regular expression
-              assertFalse(responseContext.containsHeaderString("header1", "; | ,", "value2"::equalsIgnoreCase));
+              assertTrue(responseContext.containsHeaderString("header1", ";|,", "value2"::equalsIgnoreCase));
               //White space in value not trimmed
               assertFalse(responseContext.containsHeaderString("header1", "whitespace"::equalsIgnoreCase));
               //Multiple character separator
