diff --git a/captcha.module b/captcha.module
index be29943..aa2f601 100755
--- a/captcha.module
+++ b/captcha.module
@@ -478,7 +478,7 @@ function captcha_validate($element, FormStateInterface &$form_state) {
 
   // @todo: what is the result when there is no entry for
   // the captcha_session? in D6 it was FALSE, what in D7?
-  if ($solution === FALSE) {
+  if (empty($captcha_info['cacheable']) && $solution === FALSE) {
     // Unknown challenge_id.
     // TODO: this probably never happens anymore now that there is detection
     // for CAPTCHA session reuse attacks in _captcha_get_posted_captcha_info().
