diff --git a/FreeRTOS/Source/include/FreeRTOS.h b/FreeRTOS/Source/include/FreeRTOS.h
index 33e9fa6..4df39db 100644
--- a/FreeRTOS/Source/include/FreeRTOS.h
+++ b/FreeRTOS/Source/include/FreeRTOS.h
@@ -241,7 +241,7 @@
 	#define configASSERT_DEFINED 1
 #endif
 
-/* configPRECONDITION should be resolve to configASSERT.
+/* configPRECONDITION should be defined as configASSERT.
 The CBMC proofs need a way to track assumptions and assertions.
 A configPRECONDITION statement should express an implicit invariant or
 assumption made.  A configASSERT statement should express an invariant that must
diff --git a/FreeRTOS/Source/include/task.h b/FreeRTOS/Source/include/task.h
index 62302f0..1ee178a 100644
--- a/FreeRTOS/Source/include/task.h
+++ b/FreeRTOS/Source/include/task.h
@@ -2213,7 +2213,7 @@
 * Clears the bits specified by the ulBitsToClear bit mask in the notification
 * value of the task referenced by xTask.
 *
-* Set ulBitsToClear to to 0xffffffff (UINT_MAX on 32-bit architectures) to clear
+* Set ulBitsToClear to 0xffffffff (UINT_MAX on 32-bit architectures) to clear
 * the notification value to 0.  Set ulBitsToClear to 0 to query the task's
 * notification value without clearing any bits.
 *
diff --git a/FreeRTOS/Source/portable/MSVC-MingW/port.c b/FreeRTOS/Source/portable/MSVC-MingW/port.c
index 3c685b9..ec23417 100644
--- a/FreeRTOS/Source/portable/MSVC-MingW/port.c
+++ b/FreeRTOS/Source/portable/MSVC-MingW/port.c
@@ -95,7 +95,7 @@
 	/* Handle of the thread that executes the task. */
 	void *pvThread;
 
-	/* Event used to makes sure the thread does not execute past a yield point
+	/* Event used to make sure the thread does not execute past a yield point
 	between the call to SuspendThread() to suspend the thread and the
 	asynchronous SuspendThread() operation actually being performed. */
 	void *pvYieldEvent;
@@ -394,7 +394,7 @@
 		xInsideInterrupt = pdFALSE;
 		WaitForMultipleObjects( sizeof( pvObjectList ) / sizeof( void * ), pvObjectList, TRUE, INFINITE );
 
-		/* Cannot be in a critical section to get here.  Tasks that exist a
+		/* Cannot be in a critical section to get here.  Tasks that exit a
 		critical section will block on a yield mutex to wait for an interrupt to
 		process if an interrupt was set pending while the task was inside the
 		critical section.  xInsideInterrupt prevents interrupts that contain
@@ -456,12 +456,11 @@
 
 				/* Ensure the thread is actually suspended by performing a
 				synchronous operation that can only complete when the thread is
-				actually suspended.  The below code asks for dummy register
-				data.  Experimentation shows that these two lines don't appear
+				actually suspended.  The code below asks for dummy register
+				data. Experimentation shows that these two lines don't appear
 				to do anything now, but according to
 				https://devblogs.microsoft.com/oldnewthing/20150205-00/?p=44743
-				they do - so as they do not harm (slight run-time hit) they have
-				been left it. */
+				they do - so as they do not harm (slight run-time hit). */
 				xContext.ContextFlags = CONTEXT_INTEGER;
 				( void ) GetThreadContext( pxThreadState->pvThread, &xContext );
 
@@ -599,7 +598,7 @@
 		ReleaseMutex( pvInterruptEventMutex );
 		if( ulCriticalNesting == portNO_CRITICAL_NESTING )
 		{
-			/* An interrupt was pended so ensure to block to alow it to
+			/* An interrupt was pended so ensure to block to allow it to
 			execute.  In most cases the (simulated) interrupt will have
 			executed before the next line is reached - so this is just to make
 			sure. */
@@ -669,7 +668,7 @@
 				pvInterruptEventMutex is released as it waits on both
 				pvInterruptEventMutex and pvInterruptEvent.
 				pvInterruptEvent is only set when the simulated
-				interrupt is pendeded if the interrupt is pended
+				interrupt is pended if the interrupt is pended
 				from outside a critical section - hence it is set
 				here. */
 				SetEvent( pvInterruptEvent );
