diff --git a/include/class.signal.php b/include/class.signal.php
index 424ccccc9665a36db41bb5a1ff271150d946ec82..af257cd4a2dd560076a33d5a34d31d02750c9a01 100644
--- a/include/class.signal.php
+++ b/include/class.signal.php
@@ -93,9 +93,9 @@ class Signal {
             list($s, $callable, $check) = $sub;
             if ($s && !is_a($object, $s))
                 continue;
-            elseif ($check && !call_user_func($check, $object, $data))
+            elseif ($check && !call_user_func_array($check, array($object, $data)))
                 continue;
-            call_user_func($callable, $object, $data);
+            call_user_func_array($callable, array($object, $data));
         }
     }
 }