diff --git a/Zebra_Form.php b/Zebra_Form.php
index <HASH>..<HASH> 100644
--- a/Zebra_Form.php
+++ b/Zebra_Form.php
@@ -3065,7 +3065,7 @@ class Zebra_Form
                             foreach ($rule_attributes as $custom_rule_attributes) {
 
                                 // if custom function exists
-                                if (function_exists($custom_rule_attributes[0])) {
+                                if (is_callable($custom_rule_attributes[0])) {
 
                                     // the arguments that we are passing to the custom function are the control's
                                     // submitted value and all other arguments passed when setting the custom rule
diff --git a/includes/Control.php b/includes/Control.php
index <HASH>..<HASH> 100644
--- a/includes/Control.php
+++ b/includes/Control.php
@@ -1889,7 +1889,7 @@ class Zebra_Form_Control extends XSS_Clean
                 if ($rule_name == 'custom')
 
                     // if more custom rules are specified at once
-                    if (is_array($rule_properties[0]))
+                    if (is_array($rule_properties[0]) && count($rule_properties[0]) == 3)
 
                         // iterate through the custom rules
                         // and add them one by one
Custom rules now also accept class methods

...thanks to Dan!