diff --git a/configure.ac b/configure.ac
index aa54962..b95dc93 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@
 AC_PROG_CXX
 AM_PROG_AR
 
-# Surpress the --with-libtool-sysroot error
+# Suppress the --with-libtool-sysroot error
 LT_INIT
 
 # Check for libraries
diff --git a/main.cpp b/main.cpp
index 1798dc0..b75c133 100644
--- a/main.cpp
+++ b/main.cpp
@@ -15,7 +15,7 @@
     };
     using SdEvent = std::unique_ptr<sd_event, decltype(eventDeleter)>;
 
-    // acquire a referece to the default event loop
+    // acquire a reference to the default event loop
     sd_event_default(&event);
     SdEvent sdEvent {event, eventDeleter};
     event = nullptr;
diff --git a/manager.cpp b/manager.cpp
index 1c971a3..1145d33 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -111,12 +111,12 @@
     if (hostOn)
     {
         // If host is on, set the values as requested time mode/owner.
-        // And when host becomes off, notify the listners.
+        // And when host becomes off, notify the listeners.
         setPropertyAsRequested(key, value);
     }
     else
     {
-        // If host is off, notify listners
+        // If host is off, notify listeners
         if (key == PROPERTY_TIME_MODE)
         {
             setCurrentTimeMode(value);
diff --git a/test/TestManager.cpp b/test/TestManager.cpp
index decc21d..aa7a647 100644
--- a/test/TestManager.cpp
+++ b/test/TestManager.cpp
@@ -84,7 +84,7 @@
 
 TEST_F(TestManager, DISABLED_propertyChanged)
 {
-    // When host is off, property change will be notified to listners
+    // When host is off, property change will be notified to listeners
     EXPECT_FALSE(hostOn());
 
     // Check mocked listeners shall receive notifications on property changed
@@ -126,7 +126,7 @@
 
 
     // When host becomes off, the requested mode/owner shall be notified
-    // to listners, and be cleared
+    // to listeners, and be cleared
     EXPECT_CALL(listener1, onModeChanged(Mode::NTP)).Times(1);
     EXPECT_CALL(listener1, onOwnerChanged(Owner::Split)).Times(1);
     EXPECT_CALL(listener2, onModeChanged(Mode::NTP)).Times(1);
