diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index caf60db..6689dd4 100644
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -815,16 +815,18 @@
         '''
         try:
             main.log.info(self.name + ": mvn clean")
+            self.handle.sendline("cd " + self.home)
             self.handle.sendline("mvn clean")
             while 1:
                 i=self.handle.expect(['BUILD\sFAILURE','BUILD\sSUCCESS','ONOS\$',pexpect.TIMEOUT],timeout=30)
+                print(str(self.before))
                 if i == 0:
-                    main.log.error(self.name + ": Build failure!")
+                    main.log.error(self.name + ": Clean failure!")
                     return main.FALSE
                 elif i == 1:
-                    main.log.info(self.name + ": Build success!")
+                    main.log.info(self.name + ": Clean success!")
                 elif i == 2:
-                    main.log.info(self.name + ": Build complete")
+                    main.log.info(self.name + ": Clean complete")
                     break;
                 elif i == 3:
                     main.log.error(self.name + ": mvn clean TIMEOUT!")
diff --git a/TestON/tests/JamesTest/JamesTest.params b/TestON/tests/JamesTest/JamesTest.params
index 3e3a07e..368e2e1 100644
--- a/TestON/tests/JamesTest/JamesTest.params
+++ b/TestON/tests/JamesTest/JamesTest.params
@@ -1,5 +1,5 @@
 <PARAMS>
-    <testcases>1,2,31,3,4,5,6,7</testcases>
+    <testcases>1,2,21,31,3,4,5,6,7</testcases>
     <FLOWDEF>~/flowdef_files/Center_Triangle/flowdef_20.txt</FLOWDEF>
     <CASE1>       
         <destination>h6</destination>
diff --git a/TestON/tests/JamesTest/JamesTest.py b/TestON/tests/JamesTest/JamesTest.py
index 48dc3db..5ba94ec 100644
--- a/TestON/tests/JamesTest/JamesTest.py
+++ b/TestON/tests/JamesTest/JamesTest.py
@@ -34,14 +34,38 @@
                 main.ONOS3.git_pull("ONOS1 master")
                 main.ONOS4.git_pull("ONOS1 master")
         if uptodate==0:
-            main.log.report("Building ONOS1")
-            main.ONOS1.git_compile()
-            main.log.report("Building ONOS2")
-            main.ONOS2.git_compile()
-            main.log.report("Building ONOS3")
-            main.ONOS3.git_compile()
-            main.log.report("Building ONOS4")
-            main.ONOS4.git_compile()
+            for i in range(2):
+                main.log.report("Building ONOS1")
+                build1 = main.ONOS1.git_compile()
+                if build1:
+                    break
+                elif i==1:
+                    main.cleanup()
+                    main.exit()
+            for i in range(2):
+                main.log.report("Building ONOS2")
+                build2 = main.ONOS2.git_compile()
+                if build2:
+                    break
+                elif i==1:
+                    main.cleanup()
+                    main.exit()
+            for i in range(2):
+                main.log.report("Building ONOS3")
+                build3 = main.ONOS3.git_compile()
+                if build3:
+                    break
+                elif i==1:
+                    main.cleanup()
+                    main.exit()
+            for i in range(2):
+                main.log.report("Building ONOS4")
+                build4 = main.ONOS4.git_compile()
+                if build4:
+                    break
+                elif i==1:
+                    main.cleanup()
+                    main.exit()
         
 
         main.step("\n********************Testing Zookeeper Startup**************")
