diff --git a/src/sakia/models/identities.py b/src/sakia/models/identities.py
index ef7211559d1493f1f902ba68319f4140236b57ad..77573b21c2c3c4418e08e30e7eb5737a6f9ee9af 100644
--- a/src/sakia/models/identities.py
+++ b/src/sakia/models/identities.py
@@ -42,13 +42,24 @@ class IdentitiesFilterProxyModel(QSortFilterProxyModel):
             source_data = self.sourceModel().data(source_index, role)
             expiration_col = self.sourceModel().columns_ids.index('expiration')
             expiration_index = self.sourceModel().index(source_index.row(), expiration_col)
+
+            STATUS_NOT_MEMBER = 0
+            STATUS_MEMBER = 1
+            STATUS_EXPIRE_SOON = 3
+            status = STATUS_NOT_MEMBER
             expiration_data = self.sourceModel().data(expiration_index, Qt.DisplayRole)
             current_time = QDateTime().currentDateTime().toMSecsSinceEpoch()
             sig_validity = self.sourceModel().sig_validity()
             warning_expiration_time = int(sig_validity / 3)
             #logging.debug("{0} > {1}".format(current_time, expiration_data))
+
             if expiration_data is not None:
-                will_expire_soon = (current_time > expiration_data*1000 - warning_expiration_time*1000)
+                status = STATUS_MEMBER
+                if current_time > (expiration_data*1000):
+                    status = STATUS_NOT_MEMBER
+                elif current_time > ((expiration_data*1000) - (warning_expiration_time*1000)):
+                    status = STATUS_EXPIRE_SOON
+
             if role == Qt.DisplayRole:
                 if source_index.column() in (self.sourceModel().columns_ids.index('renewed'),
                                              self.sourceModel().columns_ids.index('expiration'),
@@ -65,20 +76,19 @@ class IdentitiesFilterProxyModel(QSortFilterProxyModel):
                     return "pub:{0}".format(source_data[:5])
 
             if role == Qt.ForegroundRole:
-                if expiration_data:
-                    if will_expire_soon:
-                        return QColor("darkorange").darker(120)
+                if status == STATUS_EXPIRE_SOON:
+                    return QColor("darkorange").darker(120)
+                elif status == STATUS_NOT_MEMBER:
+                    return QColor(Qt.red)
                 else:
                     return QColor(Qt.blue)
-
             if role == Qt.DecorationRole and source_index.column() == self.sourceModel().columns_ids.index('uid'):
-                if expiration_data:
-                    if will_expire_soon:
-                        return QIcon(":/icons/member_warning")
-                    else:
-                        return QIcon(":/icons/member")
-                else:
+                if status == STATUS_NOT_MEMBER:
                     return QIcon(":/icons/not_member")
+                elif status == STATUS_MEMBER:
+                    return QIcon(":/icons/member")
+                elif status == STATUS_EXPIRE_SOON:
+                    return QIcon(":/icons/member_warning")
 
             return source_data