diff --git a/src/types/object.js b/src/types/object.js
index e6f1849807a55e504194a6214d1455a0ef36fbc6..f4e0f2e45f431dd931da86cde6def8936517fe6c 100644
--- a/src/types/object.js
+++ b/src/types/object.js
@@ -50,7 +50,7 @@ function objectType(value, path, resolve, traverseCallback) {
   const fixedProbabilities = optionAPI('alwaysFakeOptionals') || optionAPI('fixedProbabilities') || false;
   const ignoreProperties = optionAPI('ignoreProperties') || [];
 
-  const min = Math.max(value.minProperties || 0, requiredProperties.length);
+  const min = Math.max(value.minProperties || 0, random.number(requiredProperties.length, allProperties.length));
   const max = value.maxProperties || (allProperties.length + (allowsAdditional ? random.number(1, 5) : 0));
 
   let neededExtras = Math.max(0, min - requiredProperties.length);