diff --git a/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java b/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java
index d644a74..24f0b63 100644
--- a/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java
+++ b/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java
@@ -22,6 +22,7 @@
 import java.time.ZoneOffset;
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collection;
@@ -158,7 +159,12 @@
     }
 
     private static synchronized Calendar parseDate(String dateString) {
-        return GregorianCalendar.from(ZonedDateTime.parse(dateString, RFC_1123_DATE_TIME));
+        try {
+            return GregorianCalendar.from(ZonedDateTime.parse(dateString, RFC_1123_DATE_TIME));
+        }
+        catch (DateTimeParseException ex) {
+            throw new IllegalArgumentException("Invalid date value: " + dateString, ex);
+        }
     }
 
 }
diff --git a/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java b/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java
index 36ba6a8..3f74230 100644
--- a/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java
+++ b/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java
@@ -269,6 +269,13 @@
         assertFalse(header2Values.hasMoreElements());
     }
 
+    @Test(expected = IllegalArgumentException.class)
+    public void testInvalidDateHeader() {
+        request.addHeader("header1", "thisIsNotADate");
+        // make sure IllegalArgumentException is thrown as defined by the HttpServletRequest API
+        request.getDateHeader("header1");
+    }
+
     @Test
     public void testCookies() {
         assertNull(request.getCookies());
