diff --git a/src/manager.cpp b/src/manager.cpp
index 32893d350897d243361611b7cbb4deb08acae1d0..c283f1e82933ad0b44f00167cfe5b1be346c6281 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -81,8 +81,9 @@ Manager::selectAudioDriver (void) {
 void
 Manager::sip_rtp_init (void) {
 	// Init the SIP and RTP stacks.
-	sip->initSIP ();
-	sip->initRtpmapCodec ();
+	if ( sip->initSIP () != -1) {
+		 sip->initRtpmapCodec ();
+	}
 	
 	if (Config::getb(QString("Preferences/Options.autoregister"))) {
 		// Register to the known proxies if available
diff --git a/src/sip.cpp b/src/sip.cpp
index de6f0adeec3cc06880155d90cefae4311c87d8e3..6890020246f87a33f1e66d5c77368a05973008d8 100644
--- a/src/sip.cpp
+++ b/src/sip.cpp
@@ -96,7 +96,8 @@ SIP::initSIP (void) {
 	tmp = QString(PROGNAME) + "/" + QString(VERSION);
 
 	// Set IP address
-	getLocalIp();
+	if ( getLocalIp() == -1 )
+		return -1;
 	
 	srand (time(NULL));
 	if (eXosip_init (NULL, NULL, DEFAULT_SIP_PORT) != 0) {