diff --git a/src/reducers/form-actions-reducer.js b/src/reducers/form-actions-reducer.js
index <HASH>..<HASH> 100644
--- a/src/reducers/form-actions-reducer.js
+++ b/src/reducers/form-actions-reducer.js
@@ -368,9 +368,11 @@ export function createFormActionsReducer(options) {
           // If the form is invalid (due to async validity)
           // but its fields are valid and the value has changed,
           // the form should be "valid" again.
-          if ((!parentForm.$form.validity
-              || !parentForm.$form.validity
-              || !Object.keys(parentForm.$form.validity).length)
+          const validityIsBool = typeof parentForm.$form.validity === 'boolean';
+          const isInvalid = validityIsBool
+            ? !parentForm.$form.validity
+            : !Object.keys(parentForm.$form.validity).length;
+          if (isInvalid
             && !parentForm.$form.valid
             && isValid(parentForm, { async: false })) {
             return {
Preventing Object.keys from being called on a boolean