#17382: Fix ThreadAlreadyStarted exception
diff --git a/src/com/savoirfairelinux/sflphone/service/SipService.java b/src/com/savoirfairelinux/sflphone/service/SipService.java
index c619970..0a156e7 100644
--- a/src/com/savoirfairelinux/sflphone/service/SipService.java
+++ b/src/com/savoirfairelinux/sflphone/service/SipService.java
@@ -278,24 +278,25 @@
         Log.i(TAG, "onStarted");
         super.onStartCommand(intent, flags, startId);
 
-        runFlag = true;
-        sipServiceThread.start();
-        sflphoneApp.setServiceRunning(true);
-        Toast.makeText(this, "Sflphone Service started", Toast.LENGTH_SHORT).show();
+        if (!runFlag) {
+            sipServiceThread.start();
+            runFlag = true;
+            sflphoneApp.setServiceRunning(true);
+            Toast.makeText(this, "Sflphone Service started", Toast.LENGTH_SHORT).show();
+        }
 
-        Log.i(TAG, "onStarted");
         return START_STICKY; /* started and stopped explicitly */
     }
 
     @Override
     public void onDestroy() {
         /* called once by stopService() */
-        super.onDestroy();
-        runFlag = false;
         sipServiceThread.interrupt();
         sipServiceThread = null;
+        runFlag = false;
         sflphoneApp.setServiceRunning(false);
         Toast.makeText(this, "Sflphone Service stopped", Toast.LENGTH_SHORT).show();
+        super.onDestroy();
         
         Log.i(TAG, "onDestroyed");
     }