diff --git a/tools/pysflphone/pysflphone_testdbus.py b/tools/pysflphone/pysflphone_testdbus.py
index d05da47a9999167af290ac3f4a65c00158da612c..dc17f2bbc9e615a674cedc7584f1e639ca3ed2fe 100644
--- a/tools/pysflphone/pysflphone_testdbus.py
+++ b/tools/pysflphone/pysflphone_testdbus.py
@@ -135,10 +135,13 @@ class SflPhoneTests():
         # Start Glib mainloop
         self.sflphone.start()
 
+        
+
 
     # SCENARIO 1 Test 4
     def test_ip2ip_recv_peer_hungup(self):
         """Wait for calls, answer, peer hangup"""
+
         # Add callback for this test
         self.sflphone.onIncomingCall_cb = acceptOnIncomingCall
 
diff --git a/tools/pysflphone/sflphonectrlsimple.py b/tools/pysflphone/sflphonectrlsimple.py
index 8de24706aafc65065d397722d9b54dfd570c6075..cba2cf72da9907ce39fefe5a5c4fa6662efd9a11 100755
--- a/tools/pysflphone/sflphonectrlsimple.py
+++ b/tools/pysflphone/sflphonectrlsimple.py
@@ -71,9 +71,13 @@ class SflPhoneCtrlSimple(Thread):
 
 	self.loop = MainLoop()
 
+	self.isStop = False
+
 	self.test = test
 	self.onIncomingCall_cb = None
 	self.event = Event()
+
+	gobject.threads_init()
 	
 
 
@@ -83,6 +87,12 @@ class SflPhoneCtrlSimple(Thread):
 	self.loop.quit()
 
 
+    def stopThread(self):
+        print "Stop PySFLphone"
+        self.isStop = True
+	
+
+
     def register(self):
         if self.registered:
             return
@@ -614,9 +624,11 @@ class SflPhoneCtrlSimple(Thread):
 
     def run(self):
         """Processing method for this thread"""
-        gobject.threads_init()
-        # self.loop.run()
+
 	context = self.loop.get_context()
 
-	while 1:
+	while True:
             context.iteration(True)
+
+	    if self.isStop: 
+	        return