diff --git a/README.md b/README.md
index 877ac9c..e96d1bd 100644
--- a/README.md
+++ b/README.md
@@ -148,7 +148,7 @@
 # License
 
 Kustvakt is published under the [BSD-2 License](https://raw.githubusercontent.com/KorAP/Kustvakt/master/LICENSE). It is developed as part of [KorAP](http://korap.ids-mannheim.de/), the Corpus Analysis Platform at the [Leibniz Institute for the German Language (IDS)](http://ids-mannheim.de/),
-member of the [Leibniz Association](https://www.leibniz-gemeinschaft.de/en/home/).
+member of the [Leibniz Association](https://www.leibniz-gemeinschaft.de).
 
 # Contributions
 
diff --git a/full/src/main/resources/free-resources.json b/full/src/main/resources/free-resources.json
index 22b5052..b41581e 100644
--- a/full/src/main/resources/free-resources.json
+++ b/full/src/main/resources/free-resources.json
@@ -29,7 +29,7 @@
 {
     "id": "WUD17",
     "de_title" : "Deutsche Wikipedia-Benutzerdiskussionskorpus 2017",
-    "en_title" : "German Wikipedia talk corpus 2017",
+    "en_title" : "German Wikipedia user talk corpus 2017",
     "en_description" : "A collection of user talk pages of German Wikipedia from July 1st, 2017.",
     "layers": [
         "corenlp/p",
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java
index 838b74c..7018a1a 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java
@@ -3,6 +3,7 @@
 import static org.junit.Assert.assertEquals;
 
 import java.io.IOException;
+import java.net.URLEncoder;
 
 import org.junit.Test;
 
@@ -48,6 +49,21 @@
         assertEquals("operation:injection", node.at("/1/operation").asText());
         assertEquals("foundry", node.at("/1/scope").asText());
     }
+    
+    @Test
+    public void testSearchWithUrlEncodedPipes () throws IOException, KustvaktException {
+        String glemmUri =
+                resource().getURI().toString() + API_VERSION + "/test/glemm";
+        glemmUri = URLEncoder.encode(glemmUri,"utf-8");
+        
+        ClientResponse response = resource().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", glemmUri).get(ClientResponse.class);
+
+        String entity = response.getEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(2, node.at("/query/wrap/key").size());
+    }
 
     @Test
     public void testSearchWithMultiplePipes () throws KustvaktException {
