Index: core/kernel/managers/rewrite_url_processor.php
===================================================================
--- core/kernel/managers/rewrite_url_processor.php
+++ core/kernel/managers/rewrite_url_processor.php
@@ -551,7 +551,11 @@
 			}
 
 			// $listeners[1] - listener, used for parsing
-			$listener_result = $listeners[1][0]->$listeners[1][1](REWRITE_MODE_PARSE, $prefix, $vars, $url_parts);
+			$listener_result = call_user_func_array(
+				$listeners[1],
+				array(REWRITE_MODE_PARSE, $prefix, &$vars, &$url_parts)
+			);
+
 			if ($listener_result === false) {
 				// will not proceed to other methods
 				return true;
@@ -1083,7 +1087,10 @@
 		$url_parts = Array ();
 		$listener = $this->rewriteListeners[$prefix][0];
 
-		$ret = $listener[0]->$listener[1](REWRITE_MODE_BUILD, $prefix_special, $params, $url_parts, $pass_events);
+		$ret = call_user_func_array(
+			$listener,
+			array(REWRITE_MODE_BUILD, $prefix_special, &$params, &$url_parts, $pass_events)
+		);
 
 		return $ret;
 	}
Index: core/kernel/utility/unit_config_reader.php
===================================================================
--- core/kernel/utility/unit_config_reader.php
+++ core/kernel/utility/unit_config_reader.php
@@ -1034,7 +1034,10 @@
 		$this->AfterConfigRead();
 
 		foreach ($this->configData as $prefix => $config_data) {
-			$callback_function[0]->$callback_function[1]($prefix, $config_data, $params);
+			call_user_func_array(
+				$callback_function,
+				array($prefix, &$config_data, $params)
+			);
 		}
 	}