diff --git a/src/event/Call.cxx b/src/event/Call.cxx
index 074d472d1..6a04917ea 100644
--- a/src/event/Call.cxx
+++ b/src/event/Call.cxx
@@ -71,10 +71,9 @@ private:
 			exception = std::current_exception();
 		}
 
-		mutex.lock();
+		const std::lock_guard<Mutex> lock(mutex);
 		done = true;
 		cond.signal();
-		mutex.unlock();
 	}
 };