diff --git a/src/peerprofilecollection.cpp b/src/peerprofilecollection.cpp
index c0065a008f062bd7c50517828e558615214dcf9b..2b74ef78618f6b8d58e1d3e15f0390d5d8d55512 100644
--- a/src/peerprofilecollection.cpp
+++ b/src/peerprofilecollection.cpp
@@ -74,7 +74,12 @@ bool PeerProfileEditor::save(const Person* pers)
     const auto& result = pers->toVCard();
 
     QFile file {filename};
-    file.open(QIODevice::WriteOnly);
+
+    if (Q_UNLIKELY(!file.open(QIODevice::WriteOnly))) {
+        qWarning() << "Can't write to" << filename;
+        return false;
+    }
+
     file.write(result);
     file.close();
     return true;