diff --git a/src/json_schema/mod.rs b/src/json_schema/mod.rs
index 4ec5c7c..832559f 100644
--- a/src/json_schema/mod.rs
+++ b/src/json_schema/mod.rs
@@ -838,7 +838,7 @@ mod tests {
                     "title": "Character",
                     "type": "object"
                 }"#,
-                format!(r#"\{{([ ]?"name"[ ]?:[ ]?({STRING}|null)([ ]?,[ ]?"age"[ ]?:[ ]?({INTEGER}|null))?([ ]?,[ ]?"strength"[ ]?:[ ]?({INTEGER}|null))?|([ ]?"name"[ ]?:[ ]?({STRING}|null)[ ]?,)?[ ]?"age"[ ]?:[ ]?({INTEGER}|null)([ ]?,[ ]?"strength"[ ]?:[ ]?({INTEGER}|null))?|([ ]?"name"[ ]?:[ ]?({STRING}|null)[ ]?,)?([ ]?"age"[ ]?:[ ]?({INTEGER}|null)[ ]?,)?[ ]?"strength"[ ]?:[ ]?({INTEGER}|null))?[ ]?\}}"#).as_str(),
+                format!(r#"\{{([ ]?"name"[ ]?:[ ]?({STRING}|null)|([ ]?"name"[ ]?:[ ]?({STRING}|null)[ ]?,)?[ ]?"age"[ ]?:[ ]?({INTEGER}|null)|([ ]?"name"[ ]?:[ ]?({STRING}|null)[ ]?,)?([ ]?"age"[ ]?:[ ]?({INTEGER}|null)[ ]?,)?[ ]?"strength"[ ]?:[ ]?({INTEGER}|null))?[ ]?\}}"#).as_str(),
                 vec![
                     r#"{ "name" : "Player" }"#,
                     r#"{ "name" : "Player", "age" : 10, "strength" : 10 }"#,
@@ -898,7 +898,7 @@ mod tests {
         ] {
             let json: Value = serde_json::from_str(schema).expect("Can't parse json");
             let result = to_regex(&json, None).expect("To regex failed");
-            assert_eq!(result, regex);
+            assert_eq!(result, regex, "JSON Schema {} didn't match", schema);
 
             let re = Regex::new(&result).expect("Regex failed");
             for m in a_match {
@@ -1075,7 +1075,7 @@ mod tests {
         assert!(result.is_ok(), "{:?}", result);
         let regex = result.unwrap();
         assert_eq!(
-            r#"\{([ ]?"node"[ ]?:[ ]?\{([ ]?"value"[ ]?:[ ]?(-)?(0|[1-9][0-9]*)([ ]?,[ ]?"next"[ ]?:[ ]?\{([ ]?"value"[ ]?:[ ]?(-)?(0|[1-9][0-9]*))?[ ]?\})?|([ ]?"value"[ ]?:[ ]?(-)?(0|[1-9][0-9]*)[ ]?,)?[ ]?"next"[ ]?:[ ]?\{([ ]?"value"[ ]?:[ ]?(-)?(0|[1-9][0-9]*))?[ ]?\})?[ ]?\})?[ ]?\}"#,
+            r#"\{([ ]?"node"[ ]?:[ ]?\{([ ]?"value"[ ]?:[ ]?(-)?(0|[1-9][0-9]*)|([ ]?"value"[ ]?:[ ]?(-)?(0|[1-9][0-9]*)[ ]?,)?[ ]?"next"[ ]?:[ ]?\{([ ]?"value"[ ]?:[ ]?(-)?(0|[1-9][0-9]*))?[ ]?\})?[ ]?\})?[ ]?\}"#,
             regex,
         );
     }
diff --git a/src/json_schema/parsing.rs b/src/json_schema/parsing.rs
index 9ac373b..f058759 100644
--- a/src/json_schema/parsing.rs
+++ b/src/json_schema/parsing.rs
@@ -161,9 +161,6 @@ impl<'a> Parser<'a> {
                     pattern += &format!("({}{},)?", subregex, self.whitespace_pattern);
                 }
                 pattern += &property_subregexes[i];
-                for subregex in &property_subregexes[i + 1..] {
-                    pattern += &format!("({},{})?", self.whitespace_pattern, subregex);
-                }
                 possible_patterns.push(pattern);
             }