Fix #3903
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php
index 7599602..36a8148 100644
--- a/system/libraries/Form_validation.php
+++ b/system/libraries/Form_validation.php
@@ -815,11 +815,10 @@
 				// Callable rules might not have named error messages
 				if ( ! is_string($rule))
 				{
-					return;
+					$line = $this->CI->lang->line('form_validation_error_message_not_set').'(Anonymous function)';
 				}
-
 				// Check if a custom message is defined
-				if (isset($this->_field_data[$row['field']]['errors'][$rule]))
+				elseif (isset($this->_field_data[$row['field']]['errors'][$rule]))
 				{
 					$line = $this->_field_data[$row['field']]['errors'][$rule];
 				}