diff --git a/modules/oauth/lib/Consumer.php b/modules/oauth/lib/Consumer.php
index 33c33fd6ade468b23fc54603b5db2d4af59f3a0f..734fd43365c47648f0af847c6307c14b1598e294 100644
--- a/modules/oauth/lib/Consumer.php
+++ b/modules/oauth/lib/Consumer.php
@@ -88,10 +88,11 @@ class sspmod_oauth_Consumer {
 	}
 	
 	public function getAuthorizeRequest($url, $requestToken, $redirect = TRUE, $callback = NULL) {
-		$authorizeURL = $url . '?oauth_token=' . $requestToken->key;
+		$params = array('oauth_token' => $requestToken->key);
 		if ($callback) {
-			$authorizeURL .= '&oauth_callback=' . urlencode($callback);
+			$params['oauth_callback'] = $callback;
 		}
+		$authorizeURL = SimpleSAML_Utilities::addURLparameter($url, $params);
 		if ($redirect) {
 			SimpleSAML_Utilities::redirect($authorizeURL);
 			exit;