diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py
index 45ae5e7..3a06077 100755
--- a/osmclient/scripts/osm.py
+++ b/osmclient/scripts/osm.py
@@ -1122,8 +1122,6 @@
               prompt=True, help='name of the NS descriptor')
 @click.option('--vim_account',
               prompt=True, help='default VIM account id or name for the deployment')
-@click.option('--wim_account',
-              default=None, help='default WIM account for intersite connectivity. False to not use a WIM')
 @click.option('--admin_status',
               default='ENABLED',
               help='administration status')
@@ -1141,7 +1139,6 @@
               nsd_name,
               ns_name,
               vim_account,
-              wim_account,
               admin_status,
               ssh_keys,
               config,
@@ -1159,10 +1156,9 @@
             ns_name,
             config=config,
             ssh_keys=ssh_keys,
-            account=vim_account,
-            wim_account=wim_account)
+            account=vim_account)
     except ClientException as inst:
-        print((inst.message))
+        print(inst.message)
         exit(1)
 
 
diff --git a/osmclient/sol005/ns.py b/osmclient/sol005/ns.py
index b271e03..34cb683 100644
--- a/osmclient/sol005/ns.py
+++ b/osmclient/sol005/ns.py
@@ -96,7 +96,7 @@
                     msg = resp
             raise ClientException("failed to delete ns {} - {}".format(name, msg))
 
-    def create(self, nsd_name, nsr_name, account, wim_account=None, config=None,
+    def create(self, nsd_name, nsr_name, account, config=None,
                ssh_keys=None, description='default description',
                admin_status='ENABLED'):
 
@@ -132,8 +132,6 @@
         ns['nsName'] = nsr_name
         ns['nsDescription'] = description
         ns['vimAccountId'] = get_vim_account_id(account)
-        if wim_account:   # at this point is a string or None
-            ns['wimAccountId'] = get_wim_account_id(yaml.load(wim_account))
         #ns['userdata'] = {}
         #ns['userdata']['key1']='value1'
         #ns['userdata']['key2']='value2'
@@ -181,6 +179,10 @@
                     if not additional_param_vnf.get("additionalParams"):
                         raise ValueError("Error at --config 'additionalParamsForVnf' items must contain "
                                          "'additionalParams'")
+            if "wim_account" in ns_config:
+                wim_account = ns_config.pop("wim_account")
+                if wim_account is not None:
+                    ns['wimAccountId'] = get_wim_account_id(wim_account)
 
         # print yaml.safe_dump(ns)
         try:
diff --git a/osmclient/v1/ns.py b/osmclient/v1/ns.py
index de60308..3d638e1 100644
--- a/osmclient/v1/ns.py
+++ b/osmclient/v1/ns.py
@@ -69,7 +69,7 @@
                     ns_name,
                     resp))
 
-    def create(self, nsd_name, nsr_name, account, wim_account=None, config=None,
+    def create(self, nsd_name, nsr_name, account, config=None,
                ssh_keys=None, description='default description',
                admin_status='ENABLED'):
         postdata = {}
