diff --git a/src/account.cpp b/src/account.cpp
index 40730b3c02ad3bd44b237fc44c392de222b24428..2f658454d5eb01c0e9accc12c5f865644de17cb8 100644
--- a/src/account.cpp
+++ b/src/account.cpp
@@ -1998,8 +1998,12 @@ Account::RoleState Account::roleState(Account::Role role) const
             case Account::Role::HasCustomUserAgent:
             case Account::Role::HasProxy          :
             case Account::Role::Proxy             :
+            case Account::Role::CipherModel       :
                return Account::RoleState::UNAVAILABLE;
-            case Account::Role::Username          :
+            case Account::Role::Username                :
+            case Account::Role::TlsCaListCertificate    :
+            case Account::Role::TlsCertificate          :
+            case Account::Role::TlsPrivateKeyCertificate:
                return Account::RoleState::READ_ONLY;
             default:
                break;
diff --git a/src/ciphermodel.cpp b/src/ciphermodel.cpp
index 6a347fc9f606796918dbbbfb0b2275f0881ded82..409e18b9a3d2832687e6fa49423f68d6e7250a2c 100644
--- a/src/ciphermodel.cpp
+++ b/src/ciphermodel.cpp
@@ -34,26 +34,28 @@ public:
    ~CipherModelPrivate();
 
    //Attributes
-   bool*                      m_lChecked          ;
-   Account*                   m_pAccount          ;
-   static QVector<QByteArray> m_slSupportedCiphers;
-   static QHash<QString,int>  m_shMapping         ;
-   static bool                m_sIsLoaded         ;
-   bool                       m_UseDefault        ;
+   bool*                            m_lChecked          ;
+   Account*                         m_pAccount          ;
+   static QVector<QByteArray>       m_slSupportedCiphers;
+   static QHash<const QString,int>  m_shMapping         ;
+   static bool                      m_sIsLoaded         ;
+   bool                             m_UseDefault        ;
 
    static void loadCiphers();
 };
 
 bool CipherModelPrivate::m_sIsLoaded = false;
 QVector<QByteArray> CipherModelPrivate::m_slSupportedCiphers;
-QHash<QString,int>  CipherModelPrivate::m_shMapping;
+QHash<const QString,int>  CipherModelPrivate::m_shMapping;
 
 CipherModelPrivate::CipherModelPrivate(Account* parent) : m_pAccount(parent),m_UseDefault(true)
 {
    if (!CipherModelPrivate::m_sIsLoaded) {
       const QStringList cs = DBus::ConfigurationManager::instance().getSupportedCiphers(DRing::Account::ProtocolNames::IP2IP);
-      foreach(const QString& c, cs)
+      foreach(const QString& c, cs) {
+         m_shMapping[c] = m_slSupportedCiphers.size();
          m_slSupportedCiphers << c.toLatin1();
+      }
       m_sIsLoaded = true;
    }