diff --git a/contacts/lib/src/main/java/org/signal/contacts/SystemContactsRepository.kt b/contacts/lib/src/main/java/org/signal/contacts/SystemContactsRepository.kt
index 0a64c8e3490017f7d339f4f7de0d03d89273fe9e..94af14c4194ecc66d55456ed75da01b98a1b1470 100644
--- a/contacts/lib/src/main/java/org/signal/contacts/SystemContactsRepository.kt
+++ b/contacts/lib/src/main/java/org/signal/contacts/SystemContactsRepository.kt
@@ -87,15 +87,19 @@ object SystemContactsRepository {
     var account: Account? = if (accounts.isNotEmpty()) accounts[0] else null
 
     if (account == null) {
-      Log.i(TAG, "Attempting to create a new account...")
-      val newAccount = Account(accountDisplayName, applicationId)
-
-      if (accountManager.addAccountExplicitly(newAccount, null, null)) {
-        Log.i(TAG, "Successfully created a new account.")
-        ContentResolver.setIsSyncable(newAccount, ContactsContract.AUTHORITY, 1)
-        account = newAccount
-      } else {
-        Log.w(TAG, "Failed to create a new account!")
+      try {
+        Log.i(TAG, "Attempting to create a new account...")
+        val newAccount = Account(accountDisplayName, applicationId)
+
+        if (accountManager.addAccountExplicitly(newAccount, null, null)) {
+          Log.i(TAG, "Successfully created a new account.")
+          ContentResolver.setIsSyncable(newAccount, ContactsContract.AUTHORITY, 1)
+          account = newAccount
+        } else {
+          Log.w(TAG, "Failed to create a new account!")
+        }
+      } catch (e: SecurityException) {
+        Log.w(TAG, "Failed to add an account.", e)
       }
     }