diff --git a/FreeRTOS/Source/queue.c b/FreeRTOS/Source/queue.c
index b571297254..277bcc1fe5 100644
--- a/FreeRTOS/Source/queue.c
+++ b/FreeRTOS/Source/queue.c
@@ -153,7 +153,12 @@ typedef struct QueueDefinition
 		struct QueueDefinition *pxQueueSetContainer;
 	#endif
 
-} Queue_t;
+} xQUEUE;
+
+/* The old xQUEUE name is maintained above then typedefed to the new Queue_t
+name below to enable the use of older kernel aware debuggers. */
+typedef xQUEUE Queue_t;
+
 /*-----------------------------------------------------------*/
 
 /*
@@ -169,7 +174,12 @@ typedef struct QueueDefinition
 	{
 		const char *pcQueueName; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
 		QueueHandle_t xHandle;
-	} QueueRegistryItem_t;
+	} xQueueRegistryItem;
+
+	/* The old xQueueRegistryItem name is maintained above then typedefed to the
+	new xQueueRegistryItem name below to enable the use of older kernel aware
+	debuggers. */
+	typedef xQueueRegistryItem QueueRegistryItem_t;
 
 	/* The queue registry is simply an array of QueueRegistryItem_t structures.
 	The pcQueueName member of a structure being NULL is indicative of the
@@ -1040,8 +1050,8 @@ Queue_t * const pxQueue = ( Queue_t * ) xQueue;
 
 	/* Similar to xQueueGenericSend, except without blocking if there is no room
 	in the queue.  Also don't directly wake a task that was blocked on a queue
-	read, instead return a flag to say whether a context switch is required or 
-	not (i.e. has a task with a higher priority than us been woken by this 
+	read, instead return a flag to say whether a context switch is required or
+	not (i.e. has a task with a higher priority than us been woken by this
 	post). */
 	uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR();
 	{
@@ -2350,7 +2360,7 @@ BaseType_t xReturn;
 	BaseType_t xReturn = pdFALSE;
 
 		/* This function must be called form a critical section. */
-	
+
 		configASSERT( pxQueueSetContainer );
 		configASSERT( pxQueueSetContainer->uxMessagesWaiting < pxQueueSetContainer->uxLength );
 
diff --git a/FreeRTOS/Source/tasks.c b/FreeRTOS/Source/tasks.c
index 12f16d6744..8773c356cf 100644
--- a/FreeRTOS/Source/tasks.c
+++ b/FreeRTOS/Source/tasks.c
@@ -167,7 +167,11 @@ typedef struct tskTaskControlBlock
 		struct 	_reent xNewLib_reent;
 	#endif
 
-} TCB_t;
+} tskTCB;
+
+/* The old tskTCB name is maintained above then typedefed to the new TCB_t name
+below to enable the use of older kernel aware debuggers. */
+typedef tskTCB TCB_t;
 
 /*
  * Some kernel aware debuggers require the data the debugger needs access to to
diff --git a/FreeRTOS/Source/timers.c b/FreeRTOS/Source/timers.c
index 718766a918..a762588748 100644
--- a/FreeRTOS/Source/timers.c
+++ b/FreeRTOS/Source/timers.c
@@ -108,7 +108,11 @@ typedef struct tmrTimerControl
 	#if( configUSE_TRACE_FACILITY == 1 )
 		UBaseType_t			uxTimerNumber;		/*<< An ID assigned by trace tools such as FreeRTOS+Trace */
 	#endif
-} Timer_t;
+} xTIMER;
+
+/* The old xTIMER name is maintained above then typedefed to the new Timer_t
+name below to enable the use of older kernel aware debuggers. */
+typedef xTIMER Timer_t;
 
 /* The definition of messages that can be sent and received on the timer queue.
 Two types of message can be queued - messages that manipulate a software timer,