diff --git a/common/vsoc/lib/lock_guard.h b/common/vsoc/lib/lock_guard.h
index 371cf52..8fbcc7d 100644
--- a/common/vsoc/lib/lock_guard.h
+++ b/common/vsoc/lib/lock_guard.h
@@ -29,15 +29,17 @@
 template <typename Lock>
 class LockGuard {
  public:
-  explicit LockGuard(Lock* lock) : lock_(lock) { lock_->Lock(); }
+  explicit LockGuard(Lock* lock) : lock_(lock) {
+    lock_->Lock();
+  }
 
-  LockGuard(LockGuard<Lock>&& o) noexcept {
+  LockGuard(LockGuard&& o) noexcept {
     lock_ = o.lock_;
     o.lock_ = nullptr;
   }
 
-  LockGuard(const LockGuard<Lock>&) = delete;
-  LockGuard<Lock>& operator=(const LockGuard<Lock>&) = delete;
+  LockGuard(const LockGuard&) = delete;
+  LockGuard& operator=(const LockGuard&) = delete;
 
   ~LockGuard() {
     if (lock_) {
@@ -58,15 +60,15 @@
     lock_->Lock(region_);
   }
 
-  LockGuard(LockGuard<Lock>&& o) noexcept {
+  LockGuard(LockGuard&& o) noexcept {
     lock_ = o.lock_;
     o.lock_ = nullptr;
     region_ = o.region_;
     o.region_ = nullptr;
   }
 
-  LockGuard(const LockGuard<Lock>&) = delete;
-  LockGuard<Lock>& operator=(const LockGuard<Lock>&) = delete;
+  LockGuard(const LockGuard&) = delete;
+  LockGuard& operator=(const LockGuard&) = delete;
 
   ~LockGuard() {
     if (lock_) {
