diff --git a/user/test/com/google/gwt/emultest/java/util/DateTest.java b/user/test/com/google/gwt/emultest/java/util/DateTest.java
index 87da303..6567011 100644
--- a/user/test/com/google/gwt/emultest/java/util/DateTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/DateTest.java
@@ -302,7 +302,7 @@
     // /////////////////////////////
     Date accum1 = create(PAST);
     long a1 = accum1.getTime();
-    assertEquals(-2839795200000L, a1);
+    assertEquals(-2524176000000L, a1);
 
     // /////////////////////////////
     // Future
@@ -342,7 +342,7 @@
     // /////////////////////////////
     Date accum1 = create(PAST);
     int a1 = accum1.getYear();
-    assertEquals(-20, a1);
+    assertEquals(-10, a1);
 
     // /////////////////////////////
     // Future
@@ -395,7 +395,7 @@
     Date accum1 = create(PAST);
     String arg20 = createString(PAST);
     long a1 = Date.parse(arg20);
-    assertEquals(-2840140800000L, a1);
+    assertEquals(-2524521600000L, a1);
 
     // /////////////////////////////
     // Future
@@ -546,7 +546,7 @@
       // /////////////////////////////
       Date accum1 = create(PAST);
       String a1 = accum1.toGMTString();
-      assertEquals("5 Jan 1880 00:00:00 GMT", a1);
+      assertEquals("5 Jan 1890 00:00:00 GMT", a1);
 
       // /////////////////////////////
       // Future
@@ -567,7 +567,7 @@
       // /////////////////////////////
       Date accum1 = create(PAST);
       String a1 = accum1.toLocaleString();
-      assertTrue(a1.indexOf("1880") != -1);
+      assertTrue(a1.indexOf("1890") != -1);
       // /////////////////////////////
       // Future
       // /////////////////////////////
@@ -883,7 +883,7 @@
     if (s.equals(FUTURE)) {
       return new Date("12/30/2030 3:4:5 GMT");
     } else if (s.equals(PAST)) {
-      return new Date("1/5/1880 GMT");
+      return new Date("1/5/1890 GMT");
     } else {
       return (Date) theDate.clone();
     }
@@ -893,7 +893,7 @@
     if (s.equals(FUTURE)) {
       return "12/30/2030 3:4:5 GMT";
     } else if (s.equals(PAST)) {
-      return "1/1/1880 GMT";
+      return "1/1/1890 GMT";
     } else {
       return theDate.toLocaleString();
     }
