diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp
index 5fc21e09a700677d936f2996c0ddfda3288727f8..6cc2ed84a20e81ea9ee1cfd69b4e049996d53271 100644
--- a/sflphone-common/src/managerimpl.cpp
+++ b/sflphone-common/src/managerimpl.cpp
@@ -376,7 +376,9 @@ bool ManagerImpl::answerCall (const CallID& call_id) {
 
 //THREAD=Main
 bool ManagerImpl::hangupCall (const CallID& call_id) {
-	_debug ("ManagerImpl::hangupCall(%s)", call_id.c_str());
+
+	_info("Manager: Hangup call %s", call_id.c_str());
+
 	PulseLayer *pulselayer;
 	AccountID account_id;
 	bool returnValue = true;
@@ -387,7 +389,7 @@ bool ManagerImpl::hangupCall (const CallID& call_id) {
 	stopTone();
 
 	/* Broadcast a signal over DBus */
-	_debug ("    hangupCall: Send DBUS call state change (HUNGUP) for id %s", call_id.c_str());
+	_debug ("Manager: Send DBUS call state change (HUNGUP) for id %s", call_id.c_str());
 
 	if (_dbus)
 		_dbus->getCallManager()->callStateChanged(call_id, "HUNGUP");
@@ -419,7 +421,7 @@ bool ManagerImpl::hangupCall (const CallID& call_id) {
 
 		if (account_id == AccountNULL) {
 
-			_debug ("! Manager Hangup Call: Call doesn't exists");
+			_error ("Manager: Error: account id is NULL in hangup");
 			returnValue = false;
 		} else {
 
@@ -434,7 +436,7 @@ bool ManagerImpl::hangupCall (const CallID& call_id) {
 
 	// stop streams
 	if (audiolayer && (nbCalls <= 0)) {
-		_debug ("    hangupCall: stop audio stream, ther is only %i call(s) remaining", nbCalls);
+		_debug ("Manager: stop audio stream, ther is only %i call(s) remaining", nbCalls);
 		audiolayer->stopStream();
 	}
 
@@ -446,7 +448,8 @@ bool ManagerImpl::hangupCall (const CallID& call_id) {
 }
 
 bool ManagerImpl::hangupConference (const ConfID& id) {
-	_debug ("ManagerImpl::hangupConference()");
+
+	_debug ("Manager: Hangup conference %s", id.c_str());
 
 	Conference *conf;
 	ConferenceMap::iterator iter_conf = _conferencemap.find(id);
@@ -463,7 +466,7 @@ bool ManagerImpl::hangupConference (const ConfID& id) {
 		ParticipantSet::iterator iter_participant = participants.begin();
 
 		while (iter_participant != participants.end()) {
-			_debug ("ManagerImpl::hangupConference participant %s", (*iter_participant).c_str());
+			_debug ("Manager: Hangup onference participant %s", (*iter_participant).c_str());
 
 			hangupCall(*iter_participant);
 
@@ -518,13 +521,12 @@ bool ManagerImpl::onHoldCall (const CallID& call_id) {
 	AccountID account_id;
 	bool returnValue;
 
-	_debug ("ManagerImpl::onHoldCall(%s)", call_id.c_str());
+	_debug ("Manager:  Put call %s on hold", call_id.c_str());
 
 	stopTone();
 
 	CallID current_call_id = getCurrentCallId();
 
-	_debug ("    onHoldCall: try to put call %s on hold", call_id.c_str());
 
 	/* Direct IP to IP call */
 
@@ -537,7 +539,7 @@ bool ManagerImpl::onHoldCall (const CallID& call_id) {
 		account_id = getAccountFromCall(call_id);
 
 		if (account_id == AccountNULL) {
-			_debug ("    onHoldCall: Account ID %s or callid %s doesn't exists", account_id.c_str(), call_id.c_str());
+			_debug ("Manager: Account ID %s or callid %s doesn't exists in call onHold", account_id.c_str(), call_id.c_str());
 			return false;
 		}
 
@@ -568,7 +570,7 @@ bool ManagerImpl::offHoldCall (const CallID& call_id) {
 
 	is_rec = false;
 
-	_debug ("ManagerImpl::offHoldCall(%s)", call_id.c_str());
+	_debug ("Manager: Put call %s off hold", call_id.c_str());
 
 	stopTone();
 
@@ -580,11 +582,9 @@ bool ManagerImpl::offHoldCall (const CallID& call_id) {
 		// if this is not a conferenceand this and is not a conference participant
 		if (!isConference(current_call_id) && !participToConference(
 				current_call_id)) {
-			_debug ("    offHoldCall: put current call (%s) on hold", current_call_id.c_str());
 			onHoldCall(current_call_id);
 		} else if (isConference(current_call_id) && !participToConference(
 				call_id)) {
-			_debug ("    offHoldCall Put current conference (%s) on hold", current_call_id.c_str());
 			detachParticipant(default_id, current_call_id);
 		}
 	}
@@ -603,11 +603,11 @@ bool ManagerImpl::offHoldCall (const CallID& call_id) {
 		account_id = getAccountFromCall(call_id);
 
 		if (account_id == AccountNULL) {
-			_debug ("Manager OffHold Call: Call doesn't exists");
+			_warn ("Manager: Error: Call doesn't exists in off hold");
 			return false;
 		}
 
-		_debug ("Setting OFFHOLD, Account %s, callid %s", account_id.c_str(), call_id.c_str());
+		_debug ("Manager: Setting offhold, Account %s, callid %s", account_id.c_str(), call_id.c_str());
 
 		is_rec = getAccountLink(account_id)->getCall(call_id)->isRecording();
 		returnValue = getAccountLink(account_id)->offhold(call_id);
@@ -636,12 +636,6 @@ bool ManagerImpl::offHoldCall (const CallID& call_id) {
 		_audiodriver->flushMain();
 	}
 
-	// codecName = getCurrentCodecName (call_id);
-	// _debug("ManagerImpl::hangupCall(): broadcast codec name %s ",codecName.c_str());
-
-	// if (_dbus) _dbus->getCallManager()->currentSelectedCodec (call_id,codecName.c_str());
-
-
 	return returnValue;
 }
 
@@ -650,39 +644,18 @@ bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) {
 	AccountID accountid;
 	bool returnValue;
 
-	_info("Manager: Transfer Call\n");
-
-	stopTone();
+	_info("Manager: Transfer call %s\n", call_id.c_str());
 
 	CallID current_call_id = getCurrentCallId();
 
-	if (participToConference(call_id)) {
-
-		_info("Manager: Particip to a conference\n");
-
-		Conference *conf = getConferenceFromCallID(call_id);
-
-		if (conf != NULL) {
-			// remove this participant
-			removeParticipant(call_id);
-
-			processRemainingParticipant(current_call_id, conf);
-		}
-	} else {
-
-		// we are not participating to a conference, current call switched to ""
-		if (!isConference(current_call_id))
-			switchCall("");
-	}
-
-	/* Direct IP to IP call */
+	// Direct IP to IP call
 	if (getConfigFromCall(call_id) == Call::IPtoIP) {
-		returnValue
-				= SIPVoIPLink::instance(AccountNULL)-> transfer(call_id, to);
+		returnValue = SIPVoIPLink::instance(AccountNULL)-> transfer(call_id, to);
 	}
-	/* Classic call, attached to an account */
+	// Classic call, attached to an account
 	else {
-		accountid = getAccountFromCall(call_id);
+
+	accountid = getAccountFromCall(call_id);
 
 		if (accountid == AccountNULL) {
 			_warn ("Manager: Call doesn't exists");
@@ -691,9 +664,9 @@ bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) {
 
 		returnValue = getAccountLink(accountid)->transfer(call_id, to);
 
-		removeCallAccount(call_id);
 	}
 
+	// remove waiting call in case we make transfer without even answer
 	removeWaitingCall(call_id);
 
 	return returnValue;
@@ -3937,7 +3910,6 @@ bool ManagerImpl::removeCallAccount (const CallID& callID) {
 	if (_callAccountMap.erase(callID)) {
 		return true;
 	}
-
 	return false;
 }