diff --git a/library/Class/WebService/SIGB/Nanook.php b/library/Class/WebService/SIGB/Nanook.php
index 4e71a26a73f7614d116b9e7249efc1ebdde4973b..e7e34df207ce95373a1efb20f57205ad5b1f00ab 100644
--- a/library/Class/WebService/SIGB/Nanook.php
+++ b/library/Class/WebService/SIGB/Nanook.php
@@ -19,20 +19,27 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 class Class_WebService_SIGB_Nanook extends Class_WebService_SIGB_Abstract {
+  protected static $services = [];
+
+  public static function makeKey($params) {
+    return md5(serialize($params));
+  }
 
   public static function getService($params){
     if (!isset($params['provide_suggest']))
       $params = array_merge(['provide_suggest' => ''],
                             $params);
 
-    if (!isset(static::$service)) {
+    $key = static::makeKey($params);
+    if (!isset(static::$services[$key])) {
       $instance = new static();
       $classname = get_called_class().'_Service';
-      static::$service = $classname::getService($params['url_serveur'],
-                                                $params['provide_suggest'] === '1');
+      $service = $classname::getService($params['url_serveur'],
+                                        $params['provide_suggest'] === '1');
+      static::$services[$key] = $service;
     }
 
-    return static::$service;
+    return static::$services[$key];
   }
 
 }