diff --git a/src/securityvalidationmodel.cpp b/src/securityvalidationmodel.cpp
index 23cc52afbf8c965c9d1ee07901c3b4d637ba25d8..06e624e6d134338187efb5012620f86555d93ead 100644
--- a/src/securityvalidationmodel.cpp
+++ b/src/securityvalidationmodel.cpp
@@ -339,6 +339,14 @@ QVariant AccountChecksModel::data( const QModelIndex& index, int role ) const
 
    const SecurityValidationModel::AccountSecurityFlaw f = static_cast<SecurityValidationModel::AccountSecurityFlaw>(index.row());
 
+   switch(role) {
+      case (int)SecurityValidationModel::Role::Severity:
+         return QVariant::fromValue(
+            m_lCachedResults[f] == Certificate::CheckValues::UNSUPPORTED ?
+               SecurityValidationModel::Severity::UNSUPPORTED : SecurityValidationModelPrivate::flawSeverity[f]
+         );
+   }
+
    switch (index.column()) {
       case 0:
          switch(role) {
@@ -346,16 +354,12 @@ QVariant AccountChecksModel::data( const QModelIndex& index, int role ) const
                return SecurityValidationModelPrivate::messages[index.row()];
             case Qt::DecorationRole:
                return PixmapManipulationDelegate::instance()->securityIssueIcon(index);
-            case (int)SecurityValidationModel::Role::Severity:
-               return QVariant::fromValue(SecurityValidationModelPrivate::flawSeverity[f]);
          };
          break;
       case 1:
          switch(role) {
             case Qt::DisplayRole:
                return tr("Configuration");
-            case (int)SecurityValidationModel::Role::Severity:
-               return QVariant::fromValue(SecurityValidationModelPrivate::flawSeverity[f]);
          };
          break;
       case 2:
@@ -364,8 +368,6 @@ QVariant AccountChecksModel::data( const QModelIndex& index, int role ) const
                if (m_lCachedResults[f] != Certificate::CheckValues::UNSUPPORTED)
                   return m_lCachedResults[f] == Certificate::CheckValues::PASSED ? true : false;
                break;
-            case (int)SecurityValidationModel::Role::Severity:
-               return QVariant::fromValue(SecurityValidationModelPrivate::flawSeverity[f]);
          };
          break;
    };
@@ -539,6 +541,14 @@ SecurityValidationModel::~SecurityValidationModel()
 
 }
 
+bool SecurityValidationModel::filterAcceptsRow(int source_row, const QModelIndex& source_parent) const
+{
+   const QModelIndex& idx  = sourceModel()->index(source_row,0,source_parent);
+   const QModelIndex& idx2 = sourceModel()->index(source_row,2,source_parent);
+   const Severity     s    = qvariant_cast<Severity>(idx.data((int)SecurityValidationModel::Role::Severity));
+   return s != Severity::UNSUPPORTED && idx2.data(Qt::DisplayRole).toBool() == false;
+}
+
 QHash<int,QByteArray> SecurityValidationModel::roleNames() const
 {
    static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames();
diff --git a/src/securityvalidationmodel.h b/src/securityvalidationmodel.h
index 6950ae96bc233bdacb3218062f6fdadf0c81dcf7..6ba22752a367847bf284245fac5267022daf38bb 100644
--- a/src/securityvalidationmodel.h
+++ b/src/securityvalidationmodel.h
@@ -112,6 +112,7 @@ public:
 
    //Model functions
    virtual QHash<int,QByteArray> roleNames() const override;
+   virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const override;
 
    //Getter
    QList<SecurityFlaw*> currentFlaws();