diff --git a/datastore_server/build/build.xml b/datastore_server/build/build.xml
index 59d75c083f11061a914ba32e69b68c965d82b9ed..5e884d8cf5c58deb43fc825f16fcb6de21b7b388 100644
--- a/datastore_server/build/build.xml
+++ b/datastore_server/build/build.xml
@@ -167,7 +167,7 @@
         <attribute name="Main-Class" value="ch.systemsx.cisd.openbis.dss.client.api.cli.DssClient" />
         <attribute name="Class-Path"
                    value="cisd-base.jar cisd-args4j.jar stream-supporting-httpinvoker.jar log4j.jar commons-lang.jar commons-io.jar commons-logging.jar 
- commons-codec.jar commons-httpclient.jar spring.jar" />
+ commons-codec.jar commons-httpclient.jar spring.jar jline.jar" />
         <attribute name="Version" value="${version.number}" />
         <attribute name="Build-Number"
                    value="${version.number} (r${revision.number},${clean.flag})" />
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java
index c40c4159432c66c475882d4031a183333ef3bd4d..881d58de6bb14b78c514ee555a322ac37864d287 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java
@@ -97,9 +97,6 @@ class CommandPut extends AbstractCommand
         @Override
         public boolean isComplete()
         {
-            if (false == super.isComplete())
-                return false;
-
             if (getArguments().size() < 3)
                 return false;
 
@@ -121,6 +118,9 @@ class CommandPut extends AbstractCommand
                 return false;
             }
 
+            if (false == super.isComplete())
+                return false;
+
             return true;
         }
     }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/DataSetArguments.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/DataSetArguments.java
index bce2b8ad1ceae843c9d8abb8ba37c693ab29198d..db62d9afaed8437d5ba516c35d593bcab15ed461 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/DataSetArguments.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/DataSetArguments.java
@@ -56,14 +56,14 @@ class DataSetArguments extends GlobalArguments
     @Override
     public boolean isComplete()
     {
-        if (false == super.isComplete())
-            return false;
-
         if (getDataSetCode().length() < 1)
         {
             return false;
         }
 
+        if (false == super.isComplete())
+            return false;
+
         return true;
     }
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/GlobalArguments.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/GlobalArguments.java
index d7f13bd9ec5d29afda70995bc9288478b7f2a968..261c83bce6af20fadae4b51302e735428fe615bf 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/GlobalArguments.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/GlobalArguments.java
@@ -100,6 +100,9 @@ class GlobalArguments
 
     /**
      * Check that the arguments make sense.
+     * <p>
+     * Note to subclassers -- this command might prompt the user for username and/or password and
+     * thus should be called as the last part of subclass overrides of this method.
      */
     public boolean isComplete()
     {
@@ -108,6 +111,11 @@ class GlobalArguments
             return true;
         }
 
+        if (serverBaseUrl.length() < 1)
+        {
+            return false;
+        }
+
         // At the moment, username, passowrd, and server base url should all be non-empty
 
         // If username wasn't specified, read username and password from console
@@ -146,10 +154,6 @@ class GlobalArguments
                 return false;
             }
         }
-        if (serverBaseUrl.length() < 1)
-        {
-            return false;
-        }
 
         return true;
     }