diff --git a/src/abstractbookmarkmodel.cpp b/src/abstractbookmarkmodel.cpp
index 1215190b16109c6c7ce387eca6570210c42d0c24..2c951fcd6d7b1267c39a16e9419f5b3beb7c5e35 100644
--- a/src/abstractbookmarkmodel.cpp
+++ b/src/abstractbookmarkmodel.cpp
@@ -36,7 +36,7 @@ class NumberTreeBackend : public CategorizedCompositeNode
    friend class AbstractBookmarkModel;
    public:
       NumberTreeBackend(PhoneNumber* number): CategorizedCompositeNode(CategorizedCompositeNode::Type::BOOKMARK),
-         m_pNumber(number),m_pParent(nullptr){
+         m_pNumber(number),m_pParent(nullptr),m_pNode(nullptr),m_Index(-1){
          Q_ASSERT(number != nullptr);
       }
       virtual ~NumberTreeBackend() {
@@ -371,7 +371,7 @@ QVector<PhoneNumber*> AbstractBookmarkModel::bookmarkList() const
 
 AbstractBookmarkModel::TopLevelItem::TopLevelItem(QString name) 
    : CategorizedCompositeNode(CategorizedCompositeNode::Type::TOP_LEVEL),m_Name(name),
-      m_MostPopular(false)
+      m_MostPopular(false),m_Row(-1)
 {
 }
 
diff --git a/src/audiocodecmodel.cpp b/src/audiocodecmodel.cpp
index d68e58e3248fcbb0f2818433a4e8ec69d158009d..bfb5f7eb3a7a96e7a5085d2583c89adb12ebfc6e 100644
--- a/src/audiocodecmodel.cpp
+++ b/src/audiocodecmodel.cpp
@@ -29,7 +29,7 @@
 AudioCodecModel::AudioCodecModel(Account* account) :
 QAbstractListModel(account?(QObject*)account:(QObject*)QCoreApplication::instance()),m_pAccount(account)
 {
-   setObjectName("AudioCodecModel: "+account->id());
+   setObjectName("AudioCodecModel: "+(account?account->id():"Unknown"));
    QHash<int, QByteArray> roles = roleNames();
    roles.insert(AudioCodecModel::Role::ID        ,QByteArray("id"));
    roles.insert(AudioCodecModel::Role::NAME      ,QByteArray("name"));
diff --git a/src/call.cpp b/src/call.cpp
index 544bccfdb9fe174fe8ca567eb0451d1d143dbeac..694109a7a384c5b9871e9075154d2dda3ab6acc0 100644
--- a/src/call.cpp
+++ b/src/call.cpp
@@ -752,7 +752,7 @@ void Call::setDialNumber(const PhoneNumber* number)
    if (m_CurrentState == Call::State::DIALING && !m_pDialNumber) {
       m_pDialNumber = new TemporaryPhoneNumber(number);
    }
-   if (m_pDialNumber)
+   if (m_pDialNumber && number)
       m_pDialNumber->setUri(number->uri());
    emit dialNumberChanged(m_pDialNumber->uri());
    emit changed();
@@ -1146,16 +1146,19 @@ void Call::call()
       this->m_Account = AccountListModel::currentAccount();
    }
    //Calls to empty URI should not be allowed, sflphoned will go crazy
-   if (m_pDialNumber->uri().isEmpty()) {
+   if ((!m_pDialNumber) || m_pDialNumber->uri().isEmpty()) {
       qDebug() << "Trying to call an empty URI";
       m_CurrentState = Call::State::FAILURE;
-      if (m_pDialNumber)
+      if (!m_pDialNumber) {
          emit dialNumberChanged(QString());
+      }
+      else {
+         delete m_pDialNumber;
+         m_pDialNumber = nullptr;
+      }
       setPeerName(tr("Failure"));
       emit stateChanged();
       emit changed();
-      delete m_pDialNumber;
-      m_pDialNumber = nullptr;
    }
    //Normal case
    else if(m_Account) {
diff --git a/src/callmodel.cpp b/src/callmodel.cpp
index 1a1f411dbf8cebf438a5c37b0a6904a859e58aea..71c7c1b3cdacea2afc97994dc3894b76711f94ba 100644
--- a/src/callmodel.cpp
+++ b/src/callmodel.cpp
@@ -615,10 +615,6 @@ QVariant CallModel::data( const QModelIndex& idx, int role) const
       if (intList->conference == true && intList->m_lChildren.size() > idx.row() && intList->m_lChildren[idx.row()])
          call = intList->m_lChildren[idx.row()]->call_real;
    }
-   if (!call) {
-//       qWarning() << "Call not found" << idx.row() << idx.isValid() << m_lInternalModel.size() << idx.parent().isValid() << idx.parent().row() << rowCount(idx.parent());
-      return QVariant();
-   }
    return call?call->roleData((Call::Role)role):QVariant();
 }
 
diff --git a/src/categorizedcompositenode.cpp b/src/categorizedcompositenode.cpp
index 5206e8809a7f1f3bff239068d5a992637bb67e9c..22494dc3953a94fea39783f5819125a3af99e4d3 100644
--- a/src/categorizedcompositenode.cpp
+++ b/src/categorizedcompositenode.cpp
@@ -19,9 +19,8 @@
 
 
 CategorizedCompositeNode::CategorizedCompositeNode(CategorizedCompositeNode::Type _type) : m_type(_type)
-   ,m_DropState(0),m_pParent(nullptr)
+   ,m_DropState(0),m_pParent(nullptr),m_HoverState(0)
 {
-   
 }
 
 CategorizedCompositeNode::~CategorizedCompositeNode()
diff --git a/src/contactmodel.h b/src/contactmodel.h
index 0b249820481592d2ed62a373de2f9094a1d58866..e708f41990c482ac5afca26b50709d3d5482e2d5 100644
--- a/src/contactmodel.h
+++ b/src/contactmodel.h
@@ -95,7 +95,6 @@ private:
    //Attributes
    static ContactModel* m_spInstance;
    QVector<AbstractContactBackend*> m_lBackends;
-   int m_UpdatesCounter;
    CommonItemBackendModel* m_pBackendModel;
 
    //Indexes
diff --git a/src/contactproxymodel.cpp b/src/contactproxymodel.cpp
index 0dbc34a8c008fa3b2623770f274bd8d98f1a38a7..a990139ac426d103b518f102c72deff54f0a23e7 100644
--- a/src/contactproxymodel.cpp
+++ b/src/contactproxymodel.cpp
@@ -42,7 +42,7 @@ class TopLevelItem : public CategorizedCompositeNode {
       virtual ~TopLevelItem();
    private:
       explicit TopLevelItem(const QString& name) : CategorizedCompositeNode(CategorizedCompositeNode::Type::TOP_LEVEL),m_Name(name),
-      m_lChildren(){
+      m_lChildren(),m_Index(-1){
          m_lChildren.reserve(32);
       }
       QVector<ContactTreeNode*> m_lChildren;
@@ -70,7 +70,7 @@ TopLevelItem::~TopLevelItem() {
 }
 
 ContactTreeNode::ContactTreeNode(Contact* ct, ContactProxyModel* parent) : CategorizedCompositeNode(CategorizedCompositeNode::Type::CONTACT),
-   m_pContact(ct),m_pParent3(nullptr)
+   m_pContact(ct),m_pParent3(nullptr),m_Index(-1)
 {
    m_pBinder = new ContactTreeBinder(parent,this);
 }
diff --git a/src/historymodel.cpp b/src/historymodel.cpp
index fb26ecebaacc748cc4f1a1be71051473f404daab..eac07f1791fd1e8354ba5774295d7c2eb86cff1c 100644
--- a/src/historymodel.cpp
+++ b/src/historymodel.cpp
@@ -52,7 +52,8 @@ HistoryModel* HistoryModel::m_spInstance    = nullptr;
 CallMap       HistoryModel::m_sHistoryCalls          ;
 
 HistoryModel::TopLevelItem::TopLevelItem(const QString& name, int index) : 
-   CategorizedCompositeNode(CategorizedCompositeNode::Type::TOP_LEVEL),QObject(nullptr),m_Index(index),m_NameStr(name)
+   CategorizedCompositeNode(CategorizedCompositeNode::Type::TOP_LEVEL),QObject(nullptr),m_Index(index),m_NameStr(name),
+   m_AbsoluteIndex(-1),modelRow(-1)
 {}
 
 HistoryModel::TopLevelItem::~TopLevelItem() {
@@ -69,7 +70,8 @@ QObject* HistoryModel::TopLevelItem::getSelf() const
    return const_cast<HistoryModel::TopLevelItem*>(this);
 }
 
-HistoryModel::HistoryItem::HistoryItem(Call* call) : CategorizedCompositeNode(CategorizedCompositeNode::Type::CALL),m_pCall(call)
+HistoryModel::HistoryItem::HistoryItem(Call* call) : CategorizedCompositeNode(CategorizedCompositeNode::Type::CALL),m_pCall(call),
+m_Index(0),m_pParent(nullptr),m_pNode(nullptr)
 {
    
 }
@@ -283,7 +285,6 @@ void HistoryModel::reloadCategories()
       delete item;
    }
    m_lCategoryCounter.clear();
-   m_isContactDateInit = false;
    foreach(Call* call, m_sHistoryCalls) {
       TopLevelItem* category = getCategory(call);
       if (category) {
diff --git a/src/historymodel.h b/src/historymodel.h
index a1849936f1425293c2c0d62803f9b7148e638817..74699adeb87743fb5edd275bb5dbb7db6eb91704 100644
--- a/src/historymodel.h
+++ b/src/historymodel.h
@@ -136,9 +136,7 @@ private:
    QList<TopLevelItem*>         m_lCategoryCounter ;
    QHash<int,TopLevelItem*>     m_hCategories      ;
    QHash<QString,TopLevelItem*> m_hCategoryByName  ;
-   bool                         m_isContactDateInit;
    int                          m_Role             ;
-   bool                         m_ShowAll          ;
    QStringList                  m_lMimes           ;
 
 public Q_SLOTS:
diff --git a/src/itembackendmodel.h b/src/itembackendmodel.h
index 5397c380f3dfaa4c23ec15b26f26ae9940e899bb..cc670ee214c41ebdc5faac79aaf6ba0dd89e0873 100644
--- a/src/itembackendmodel.h
+++ b/src/itembackendmodel.h
@@ -60,7 +60,7 @@ private:
     * index have to be implemented.
     */
    struct ProxyItem {
-      ProxyItem() : parent(0),col(1){}
+      ProxyItem() : parent(nullptr),col(1),row(0),backend(nullptr){}
       int row;
       int col;
       AbstractContactBackend* backend;
diff --git a/src/keyexchangemodel.h b/src/keyexchangemodel.h
index 93a75062973cc60e3469f0a7edf60110e437de42..8563c3e279757a573dd35ff16aa255d9cf30ca12 100644
--- a/src/keyexchangemodel.h
+++ b/src/keyexchangemodel.h
@@ -86,7 +86,6 @@ public:
 
 
 private:
-   KeyExchangeModel::Type m_CurrentMethod;
    Account* m_pAccount;
    static const TypedStateMachine< TypedStateMachine< bool , KeyExchangeModel::Type > , KeyExchangeModel::Options > availableOptions;
 
diff --git a/src/securityvalidationmodel.cpp b/src/securityvalidationmodel.cpp
index d61e063a10dccce1c4ec4f3007e30fae59e265fa..52f81b4ada43a9527e16e9af081a9090e6363e23 100644
--- a/src/securityvalidationmodel.cpp
+++ b/src/securityvalidationmodel.cpp
@@ -84,7 +84,8 @@ SecurityValidationModel::flawSeverity = {{
 }};
 
 
-SecurityValidationModel::SecurityValidationModel(Account* account) : QAbstractListModel(account), m_pAccount(account)
+SecurityValidationModel::SecurityValidationModel(Account* account) : QAbstractListModel(account),
+m_pAccount(account),m_CurrentSecurityLevel(SecurityLevel::NONE)
 {
    
 }
diff --git a/src/video/videorenderer.cpp b/src/video/videorenderer.cpp
index 0c189e388c4246cda40faa52f9601b4c4d22b13e..d98dac5483fa4a629b5b3fbad629ddf070eca1c8 100644
--- a/src/video/videorenderer.cpp
+++ b/src/video/videorenderer.cpp
@@ -57,7 +57,7 @@ struct SHMHeader{
 
 ///Constructor
 VideoRenderer::VideoRenderer(const QString& id, const QString& shmPath, const QSize& res): QObject(nullptr),
-   m_ShmPath(shmPath), fd(-1),
+   m_ShmPath(shmPath), fd(-1),m_fpsC(0),m_Fps(0),
    m_pShmArea((SHMHeader*)MAP_FAILED), m_ShmAreaLen(0), m_BufferGen(0),
    m_isRendering(false),m_pTimer(nullptr),m_pSize(res),m_pMutex(new QMutex()),
    m_Id(id),m_FrameIdx(false),m_pSSMutex(new QMutex())