diff --git a/JamiDaemon.ts b/JamiDaemon.ts
index 56a8c1d..340e2e5 100755
--- a/JamiDaemon.ts
+++ b/JamiDaemon.ts
@@ -129,7 +129,7 @@
             console.log(`Unknown account ${accountId}`);
             return;
           }
-          if (state == 0) {
+          if (state === 0) {
             const contact = account.getContactFromCache(address);
             if (!contact.isRegisteredNameResolved()) contact.setRegisteredName(name);
           }
@@ -281,8 +281,8 @@
               new Promise((resolve: (value: LookupResolveValue) => void, reject) =>
                 account.lookups.push({ address: member.uri, resolve, reject })
               ).then((result) => {
-                if (result.state == 0) return result.name;
-                else if (result.state == 1) return undefined;
+                if (result.state === 0) return result.name;
+                else if (result.state === 1) return undefined;
                 else return null;
               })
             );
