diff --git a/TestON/drivers/common/api/dockerapidriver.py b/TestON/drivers/common/api/dockerapidriver.py
index fc96682..21809aa 100644
--- a/TestON/drivers/common/api/dockerapidriver.py
+++ b/TestON/drivers/common/api/dockerapidriver.py
@@ -199,7 +199,7 @@
             Remove Docker image
         """
         if self.dockerClient.images() is []: 
-            main.log.info( "no image found with RepoTags: " + image )
+            main.log.info( "No docker image found with RepoTags: " + image )
             return main.TRUE
         else:
             try:
diff --git a/TestON/tests/PLATdockertest/PLATdockertest.params b/TestON/tests/PLATdockertest/PLATdockertest.params
index cf87638..105be40 100755
--- a/TestON/tests/PLATdockertest/PLATdockertest.params
+++ b/TestON/tests/PLATdockertest/PLATdockertest.params
@@ -1,6 +1,6 @@
 <PARAMS>
 
-    <testcases>1,5,1000,10,110,1000</testcases>
+    <testcases>1,1000,5,10,110,1000</testcases>
 
     <DOCKER>
         <repo>onosproject/onos</repo>
diff --git a/TestON/tests/PLATdockertest/PLATdockertest.py b/TestON/tests/PLATdockertest/PLATdockertest.py
index d744262..629771d 100644
--- a/TestON/tests/PLATdockertest/PLATdockertest.py
+++ b/TestON/tests/PLATdockertest/PLATdockertest.py
@@ -182,8 +182,8 @@
         applist = main.params["CASE110"]["apps"].split(",")
         main.log.info("List of apps to activate: " + str(applist) )
         for app in applist:
-            time.sleep(5)
             appRslt = main.ONOSbenchRest.activateApp(appName=app, ip=IPlist[0], port=8181, check=True)
+            time.sleep(5)
             appResults.append(appRslt)
             stepResult = stepResult and appRslt
         main.log.debug("Apps activation result for " + ",".join(applist) + ": " + str(appResults) ) 
@@ -196,7 +196,7 @@
         appResults = list()
         stepResult = main.TRUE
         applist = main.params["CASE110"]["apps"].split(",")
-        main.log.info("Apps to activae: " + str(applist) )
+        main.log.info("Apps to deactivate: " + str(applist) )
         for app in applist:
             time.sleep(5)
             appRslt = main.ONOSbenchRest.deactivateApp(appName=app, ip=IPlist[0], port=8181, check=True)
