diff --git a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params b/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
index 3aa47d8..b4ed0b5 100644
--- a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
+++ b/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
@@ -4,7 +4,7 @@
 
     <SCALE>1,3,5,7</SCALE>
     <max>7</max>
- 
+
     <ENV>
         <cellName>IntentInstallWithdrawCell</cellName>
         <cellApps>drivers,null</cellApps>
@@ -13,8 +13,8 @@
     <TEST>
         <skipCleanInstall>yes</skipCleanInstall>
         <switchCount>7</switchCount>
-        <warmUp>10</warmUp>
-        <sampleSize>20</sampleSize>                     
+        <warmUp>5</warmUp>
+        <sampleSize>20</sampleSize>
         <wait></wait>
         <intents>1,100,1000</intents>                       #list format, will be split on ','
         <debug>True</debug>                                        #"True" for true
@@ -27,25 +27,25 @@
 
     <CTRL>
         <USER>admin</USER>
-        
+
         <ip1>OC1</ip1>
         <port1>6633</port1>
-        
+
         <ip2>OC2</ip2>
         <port2>6633</port2>
-        
+
         <ip3>OC3</ip3>
         <port3>6633</port3>
-        
+
         <ip4>OC4</ip4>
         <port4>6633</port4>
-        
+
         <ip5>OC5</ip5>
         <port5>6633</port5>
-        
+
         <ip6>OC6</ip6>
-        <port6>6633</port6> 
-       
+        <port6>6633</port6>
+
         <ip7>OC7</ip7>
         <port7>6633</port7>
 
diff --git a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py b/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
index 65a1da2..6b892e1 100644
--- a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
+++ b/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
@@ -212,6 +212,7 @@
             cmd += str(intentSize) + " 1"
             installed = []
             withdrawn = []
+            testStatus = ""
 
             for run in range(0, (warmUp + sampleSize)):
                 if run > warmUp:
@@ -237,16 +238,17 @@
                         if "Failure:" in line:
                             main.log.error("INTENT TEST FAILURE, ABORTING TESTCASE")
                             testStatus = "fail"
-                if testStatus == "fail":
-                    print("installed: " + str(installed))
-                    print("withraw: " + str(withdrawn) + "\n")
-                    if withdrawn[len(withdrawn) -1] > 1000 or installed[len(installed) -1] > 1000:
-                        main.log.info("ABNORMAL VALUE, CHECKING LOG")
-                        main.ONOSbench.logReport(ONOSIp[1], ["ERROR", "WARNING", "EXCEPT"], outputMode="d")
-                    break
+                            break
 
-            if testStatus == "fail":
-                break
+                if testStatus == "fail":
+                    main.log.info("Installed: " + str(installed))
+                    main.log.info("Withdrawn: " + str(withdrawn))
+                    main.log.info("Scale: " + str(clusterCount))
+                    main.log.info("Warmup: " + str(warmUp) + " SampleSize: " + str(sampleSize))
+                    main.log.info("Run: " + str(run))
+                    main.log.error("Skipping test case")
+                    main.skipCase()
+
             main.log.report("----------------------------------------------------")
             main.log.report("Scale: " + str(clusterCount) + "\tIntent batch size: " + str(intentSize))
             main.log.report("Data samples: " + str(sampleSize) + "\tWarm up tests: " + str(warmUp))
