diff --git a/ajax.php b/ajax.php
index 57b6274ccee12f4292f97aa7df5b4f9c9cd938ce..3374776c7a54ef4cbaa1c0bf7a8139d2179be2dc 100644
--- a/ajax.php
+++ b/ajax.php
@@ -39,5 +39,6 @@ $dispatcher = patterns('',
         url_get('^help-topic/(?P<id>\d+)$', 'getClientFormsForHelpTopic')
     ))
 );
+Signal::send('ajax.client', $dispatcher);
 print $dispatcher->resolve($ost->get_path_info());
 ?>
diff --git a/include/class.dispatcher.php b/include/class.dispatcher.php
index 0448f5024eb3e9244f1bf1bbe1b8b462d171117a..d586fd0ba77e010549d72196bcaec0a5f94c44d2 100644
--- a/include/class.dispatcher.php
+++ b/include/class.dispatcher.php
@@ -153,7 +153,10 @@ class UrlMatcher {
     function apply_prefix() {
         if (is_array($this->func)) { list($class, $func) = $this->func; }
         else { $func = $this->func; $class = ""; }
-        $class = $this->prefix . $class;
+        if (is_object($class))
+            return array(false, $this->func);
+        if ($this->prefix)
+            $class = $this->prefix . $class;
 
         if (strpos($class, ":")) {
             list($file, $class) = explode(":", $class, 2);