 
             if (results && results.length > 0) {
                 event = new ValidationEvent(ValidationEvent.INVALID, results);
+                currentValidationResults = results;
             } else {
-                event = new ValidationEvent(ValidationEvent.VALID);
-                DelayUtil.stretchToTimeout(200, validateOnServerIfRequired, value, silentValidation);
+                if (supportsServerValidation) {
+                    if (currentValidationResults && currentValidationResults.length > 0) {
+                        event = new ValidationEvent(ValidationEvent.INVALID, currentValidationResults);
+                    } else {
+                        event = new ValidationEvent(ValidationEvent.VALID);
+                    }
+                    DelayUtil.stretchToTimeout(200, validateOnServerIfRequired, value, silentValidation);
+                } else {
+                    event = new ValidationEvent(ValidationEvent.VALID);
+                    currentValidationResults.length = 0;
+                }
             }
         }
         else {


    //--------------------------------------------------------------------------
    //
    //  Properties
    //
    //--------------------------------------------------------------------------

        _serverValidationFunction = value;
    }

    private function get supportsServerValidation(): Boolean {
        return _serverValidationFunction != null;
    }

    //--------------------------------------------------------------------------
    //
    //  Methods
