diff --git a/src/jamidht/conversationrepository.cpp b/src/jamidht/conversationrepository.cpp
index 041c9f61bc2359ea04109d2c9c9619a682bbf815..b2f53a0815a8437f10338f229a226c139754a395 100644
--- a/src/jamidht/conversationrepository.cpp
+++ b/src/jamidht/conversationrepository.cpp
@@ -268,6 +268,8 @@ public:
             // Not pinned, so load certificate from repo
             std::string deviceFile = git_repository_workdir(repo.get())
                                      + fmt::format("devices/{}.crt", deviceId);
+            if (!fileutils::isFile(deviceFile))
+                return {};
             cert = std::make_shared<dht::crypto::Certificate>(fileutils::loadFile(deviceFile));
             if (!cert)
                 return {};