diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index 149d63d89d3fbc3cedfe802c15b0ad9bbd9d0104..6ac5dd3ab2caf97d134d71f02bd4b17cd5f96beb 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -933,6 +933,18 @@ ManagerImpl::callFailure(CALLID id) {
   }
 }
 
+Tone *
+ManagerImpl::getTelephoneTone()
+{
+  if(_telephoneTone) {
+    return _telephoneTone->getCurrentTone();
+  }
+  else {
+    return NULL;
+  }
+}
+
+
 /**
  * Multi Thread
  */
diff --git a/src/managerimpl.h b/src/managerimpl.h
index d5786c0b642a305d5538566d22203e0d562ec900..dcfa29a435bbf9dc79473a0f899b9999646e2bc6 100644
--- a/src/managerimpl.h
+++ b/src/managerimpl.h
@@ -203,7 +203,7 @@ name);
   void callFailure(CALLID id);
 
   // return 0 if no tone (init before calling this function)
-  Tone* getTelephoneTone() { return _telephoneTone->getCurrentTone(); };
+  Tone* getTelephoneTone();
 
   /**
    * @return true is there is one or many incoming call waiting