Index: src/test/java/org/quartz/CronExpressionTest.java
===================================================================
--- src/test/java/org/quartz/CronExpressionTest.java	(revision 752)
+++ src/test/java/org/quartz/CronExpressionTest.java	(working copy)
@@ -121,4 +121,14 @@
         }
     }
 
+    public void testQuartz621() {
+        try {
+            CronExpression cronExpression = new CronExpression("0 0 * * * * *");
+            fail("Expected ParseException did not fire for wildcard day-of-month and day-of-week");
+        } catch(ParseException pe) {
+            assertTrue("Incorrect ParseException thrown", 
+                pe.getMessage().startsWith("Support for specifying both a day-of-week AND a day-of-month parameter is not implemented."));
+        }
+    }
+
 }
Index: src/java/org/quartz/CronExpression.java
===================================================================
--- src/java/org/quartz/CronExpression.java	(revision 752)
+++ src/java/org/quartz/CronExpression.java	(working copy)
@@ -159,7 +159,7 @@
  * <b>NOTES:</b>
  * <ul>
  * <li>Support for specifying both a day-of-week and a day-of-month value is
- * not complete (you'll need to use the '?' character in on of these fields).
+ * not complete (you'll need to use the '?' character in one of these fields).
  * </li>
  * </ul>
  * </p>
@@ -423,6 +423,13 @@
                 storeExpressionVals(0, "*", YEAR);
             }
 
+            TreeSet dow = getSet(DAY_OF_WEEK);
+            TreeSet dom = getSet(DAY_OF_MONTH);
+
+            if( dow.contains(ALL_SPEC) && dom.contains(ALL_SPEC)) {
+                throw new ParseException(
+                        "Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.", 0);
+            }
         } catch (ParseException pe) {
             throw pe;
         } catch (Exception e) {
