diff --git a/lib/types/object.js b/lib/types/object.js
index 9f80d69a274bd9dc404d1a6d5da9fc7b3a1f3ee7..57fdacd5ec54f70fa94e5f5fd631e22faf78b474 100644
Binary files a/lib/types/object.js and b/lib/types/object.js differ
diff --git a/ts/types/object.ts b/ts/types/object.ts
index 97cb723de608e1d3ad00d2a9252bdb9cdd4a61a4..7e334c86afa4bbf915ed9890b2f7a974c4faff36 100644
--- a/ts/types/object.ts
+++ b/ts/types/object.ts
@@ -37,7 +37,7 @@ var objectType: FTypeGenerator = function objectType(value: IObjectSchema, path,
     var min = Math.max(value.minProperties || 0, requiredProperties.length);
     var max = Math.max(value.maxProperties || random.number(min, min + 5));
 
-    patternPropertyKeys.concat(propertyKeys).forEach(function(_key) {
+    random.shuffle(patternPropertyKeys.concat(propertyKeys)).forEach(function(_key) {
         if (requiredProperties.indexOf(_key) === -1) {
             requiredProperties.push(_key);
         }