diff --git a/user/super/com/google/gwt/emul/java/util/StringJoiner.java b/user/super/com/google/gwt/emul/java/util/StringJoiner.java
index 0e67640..68ddb2d 100644
--- a/user/super/com/google/gwt/emul/java/util/StringJoiner.java
+++ b/user/super/com/google/gwt/emul/java/util/StringJoiner.java
@@ -15,8 +15,6 @@
  */
 package java.util;
 
-import static javaemul.internal.InternalPreconditions.checkCriticalNotNull;
-
 /**
  * See <a href="https://docs.oracle.com/javase/8/docs/api/java/util/StringJoiner.html">
  * the official Java API doc</a> for details.
@@ -35,13 +33,6 @@
   }
 
   public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) {
-
-    // TODO(dankurka): remove these checks once we have the proper compiler fix
-    // for Charsequence.toString() with null values.
-    checkCriticalNotNull(delimiter, "delimiter");
-    checkCriticalNotNull(prefix, "prefix");
-    checkCriticalNotNull(suffix, "suffix");
-
     this.delimiter = delimiter.toString();
     this.prefix = prefix.toString();
     this.suffix = suffix.toString();
@@ -73,9 +64,6 @@
   }
 
   public StringJoiner setEmptyValue(CharSequence emptyValue) {
-    // TODO: null.toString() does not throw exception
-    checkCriticalNotNull(emptyValue);
-
     this.emptyValue = emptyValue.toString();
     return this;
   }
diff --git a/user/test/com/google/gwt/emultest/java8/util/StringJoinerTest.java b/user/test/com/google/gwt/emultest/java8/util/StringJoinerTest.java
index 33950cc..6601535 100644
--- a/user/test/com/google/gwt/emultest/java8/util/StringJoinerTest.java
+++ b/user/test/com/google/gwt/emultest/java8/util/StringJoinerTest.java
@@ -44,6 +44,8 @@
       fail("NullPointerException must be thrown if any constructor parameter is null");
     } catch (NullPointerException e) {
       // expected
+    } catch (JavaScriptException e) {
+      // expected
     }
   }
 
@@ -90,6 +92,8 @@
       fail("NullPointerException must be thrown if emptyValue is null");
     } catch (NullPointerException e) {
       // expected
+    } catch (JavaScriptException e) {
+      // expected
     }
   }
 }
\ No newline at end of file
