diff --git a/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.py b/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.py
index 48f1b57..0a3e0aa 100644
--- a/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.py
+++ b/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.py
@@ -35,10 +35,6 @@
     
         main.log.info("==========DEBUG VERSION 3===========")
 
-        main.exceptions = [0]*11
-        main.warnings = [0]*11
-        main.errors = [0]*11
-
         # -- INIT SECTION, ONLY RUNS ONCE -- #
         if init == False:
             init = True
@@ -317,8 +313,7 @@
                 if test >= warmUp:
                     for i in result: 
                         if i == "": 
-                            main.log.error("Missing data point, critical failure incoming")
-
+                            main.ONOSbench.logReport(ONOSIp[1], ["ERROR", "WARNING", "EXCEPT"])
                     print result
                     maxes[test-warmUp] = max(result)
                     main.log.info("Data collection iteration: " + str(test-warmUp) + " of " + str(sampleSize))
diff --git a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.params b/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.params
index 0e6bbfb..eefe54b 100644
--- a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.params
+++ b/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.params
@@ -2,7 +2,7 @@
 
     <testcases>1,2,1,2,1,2,1,2,1,2,1,2,1,2</testcases>
     
-    <isOnBaremetal>True</isOnBaremetal>
+    <isOnBaremetal></isOnBaremetal>
     <debugMode></debugMode>  #nothing means false 
 
     <ENV>
diff --git a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.py b/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.py
index fa089d4..6fe4f73 100644
--- a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.py
+++ b/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.py
@@ -9,7 +9,7 @@
 import time
 
 
-class SCPFintentEventTP:
+class SCPFintentEventTp:
 
     def __init__( self ):
         self.default = ''
@@ -105,7 +105,11 @@
         for i in range(maxNodes):
             main.log.info(" Uninstalling ONOS " + str(i) )
             main.ONOSbench.onosUninstall( ONOSIp[i] )
-       
+        main.log.info("Sleep 10 second for uninstall to settle...")
+        time.sleep(10)
+        main.ONOSbench.handle.sendline(" ")
+        main.ONOSbench.handle.expect(":~")
+        
         #construct the cell file
         main.log.info("Creating cell file")
         cellIp = []
