diff --git a/src/FusionDirectory/Rest/WebServiceCall.php b/src/FusionDirectory/Rest/WebServiceCall.php
index fcc48e9881c558bae2bdbe908cfa90afae3834df..349c5797b785f3ee7f17cc7a9f5680c7f66b3e56 100644
--- a/src/FusionDirectory/Rest/WebServiceCall.php
+++ b/src/FusionDirectory/Rest/WebServiceCall.php
@@ -4,7 +4,7 @@ namespace FusionDirectory\Rest;
 class WebServiceCall
 {
   private $URL, $method, $token; //String
-  private $data, $authData; //Array
+  private                $data, $authData; //Array
   /**
    * @var false|resource
    */
@@ -141,7 +141,8 @@ class WebServiceCall
       ]
     ];
 
-    $this->setCurlSettings($_ENV['FUSION_DIRECTORY_API_URL'] . '/objects/tasks/' . $dn, $data, 'PATCH');
+    // the DN can contain space which must be URL encoded correctly.
+    $this->setCurlSettings($_ENV['FUSION_DIRECTORY_API_URL'] . '/objects/tasks/' . rawurlencode($dn), $data, 'PATCH');
     curl_exec($this->ch);
 
     $this->handleCurlError($this->ch);
@@ -168,7 +169,8 @@ class WebServiceCall
       'refreshUser' => NULL
     ];
 
-    $this->setCurlSettings($_ENV['FUSION_DIRECTORY_API_URL'] . '/objects/user/' . $dn, $data, 'PATCH');
+    // A DN can contain space and therefore must be encoded properly before processing.
+    $this->setCurlSettings($_ENV['FUSION_DIRECTORY_API_URL'] . '/objects/user/' . rawurlencode($dn), $data, 'PATCH');
     curl_exec($this->ch);
 
     $this->handleCurlError($this->ch);