diff --git a/module/VuFind/src/VuFind/Controller/RelaisController.php b/module/VuFind/src/VuFind/Controller/RelaisController.php
index 7975838a6bcff1caddd8ae3fd283964fea5ee067..d66afb60c230883295a9245fd298a270f44d2162 100644
--- a/module/VuFind/src/VuFind/Controller/RelaisController.php
+++ b/module/VuFind/src/VuFind/Controller/RelaisController.php
@@ -64,7 +64,7 @@ class RelaisController extends AbstractBase
             . '&dest=discovery&group=patron&PI='
             . urlencode($patron['cat_username']);
         if (!empty($q)) {
-            $url .= '&query=' . urlencode($q);
+            $url .= '&query=' . rawurlencode($q);
         }
         return $this->redirect()->toUrl($url);
     }
diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Relais.php b/module/VuFind/src/VuFind/View/Helper/Root/Relais.php
index f7c062aa925faf01cd8bd71eaa73da9658986f65..a79d6db6145cd95b50b7f80e87b1a8983cd6235a 100644
--- a/module/VuFind/src/VuFind/View/Helper/Root/Relais.php
+++ b/module/VuFind/src/VuFind/View/Helper/Root/Relais.php
@@ -86,9 +86,10 @@ class Relais extends \Zend\View\Helper\AbstractHelper
         // Assemble and return URL:
         $separator = strstr($this->loginUrl, '?') === false ? '?' : '&';
         $url = $this->loginUrl . $separator . 'query='
-            . ($isbn ? 'isbn%3D' . urlencode($isbn) : 'ti%3D' . urlencode($title));
+            . ($isbn ? 'isbn%3D' . rawurlencode($isbn) : 'ti%3D'
+            . rawurlencode($title));
         if ($mainAuthor) {
-            $url .= '%20and%20au%3D' . urlencode($mainAuthor);
+            $url .= '%20and%20au%3D' . rawurlencode($mainAuthor);
         }
         return $url;
     }