diff --git a/CommonLibs/BitVector.cpp b/CommonLibs/BitVector.cpp
index 26b44ee..1bc8f43 100644
--- a/CommonLibs/BitVector.cpp
+++ b/CommonLibs/BitVector.cpp
@@ -37,7 +37,7 @@
 
 
 /**
-  Apply a Galois polymonial to a binary seqeunce.
+  Apply a Galois polymonial to a binary sequence.
   @param val The input sequence.
   @param poly The polynomial.
   @param order The order of the polynomial.
diff --git a/CommonLibs/Interthread.h b/CommonLibs/Interthread.h
index 8169985..881e1a8 100644
--- a/CommonLibs/Interthread.h
+++ b/CommonLibs/Interthread.h
@@ -47,7 +47,7 @@
 // (pat) The elements in the queue are type T*, and
 // the Fifo class implements the underlying queue.
 // The default is class PointerFIFO, which does not place any restrictions on the type of T,
-// and is implemented by allocating auxilliary structures for the queue,
+// and is implemented by allocating auxiliary structures for the queue,
 // or SingleLinkedList, which implements the queue using an internal pointer in type T,
 // which must implement the functional interface of class SingleLinkListNode,
 // namely: functions T*next() and void setNext(T*).
diff --git a/CommonLibs/LinkedLists.h b/CommonLibs/LinkedLists.h
index e98b41a..f5502e7 100644
--- a/CommonLibs/LinkedLists.h
+++ b/CommonLibs/LinkedLists.h
@@ -4,7 +4,7 @@
 * SPDX-License-Identifier: AGPL-3.0+
 *
 * This software is distributed under multiple licenses; see the COPYING file in
-* the main directory for licensing information for this specific distribuion.
+* the main directory for licensing information for this specific distribution.
 *
 * This software is distributed under the terms of the GNU Affero Public License.
 * See the COPYING file in the main directory for details.
diff --git a/CommonLibs/Threads.h b/CommonLibs/Threads.h
index df61c72..5ff137b 100644
--- a/CommonLibs/Threads.h
+++ b/CommonLibs/Threads.h
@@ -186,7 +186,7 @@
 		}
 	}
 
-	/** Send cancelation to thread */
+	/** Send cancellation to thread */
 	void cancel() { pthread_cancel(mThread); }
 };
 
diff --git a/CommonLibs/Timeval.h b/CommonLibs/Timeval.h
index 0826c12..18ea4b4 100644
--- a/CommonLibs/Timeval.h
+++ b/CommonLibs/Timeval.h
@@ -84,7 +84,7 @@
 	uint32_t usec() const { return mTimespec.tv_nsec / 1000; }
 	uint32_t nsec() const { return mTimespec.tv_nsec; }
 
-	/** Return differnce from other (other-self), in ms. */
+	/** Return difference from other (other-self), in ms. */
 	long delta(const Timeval& other) const;
 
 	/** Elapsed time in ms. */
diff --git a/CommonLibs/Vector.h b/CommonLibs/Vector.h
index 0970248..012a0fa 100644
--- a/CommonLibs/Vector.h
+++ b/CommonLibs/Vector.h
@@ -36,7 +36,7 @@
 #include <assert.h>
 #include <stdlib.h>
 
-// We cant use Logger.h in this file...
+// We can't use Logger.h in this file...
 extern int gVectorDebug;
 #define BVDEBUG(msg) if (gVectorDebug) {std::cout << msg;}
 
diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp
index a9ef88c..1b44b13 100644
--- a/CommonLibs/trx_rate_ctr.cpp
+++ b/CommonLibs/trx_rate_ctr.cpp
@@ -38,7 +38,7 @@
  * That signal is processed here in device_sig_cb, where a copy of the "struct
  * device_counters" structure is held and the main thread is instructed through
  * a timerfd to update rate_ctr APIs against this copy. All this is done inside
- * a mutex to avoid different race conditons (between Rx andTx threads, and
+ * a mutex to avoid different race conditions (between Rx andTx threads, and
  * between Rx/Tx and main thread). For the same reason, callers of signal
  * <SS_DEVICE,S_DEVICE_COUNTER_CHANGE> (device_sig_cb), that is Rx/Tx threads,
  * must do so with PTHREAD_CANCEL_DISABLE, in order to avoid possible deadlocks
diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c
index df0114a..2c7ecc2 100644
--- a/CommonLibs/trx_vty.c
+++ b/CommonLibs/trx_vty.c
@@ -222,7 +222,7 @@
 DEFUN(cfg_clock_ref, cfg_clock_ref_cmd,
 	"clock-ref (internal|external|gpsdo)",
 	"Set the Reference Clock\n"
-	"Enable internal referece (default)\n"
+	"Enable internal reference (default)\n"
 	"Enable external 10 MHz reference\n"
 	"Enable GPSDO reference\n")
 {
