diff --git a/FreeRTOS/Source/tasks.c b/FreeRTOS/Source/tasks.c
index 48648d329e..768c13358d 100644
--- a/FreeRTOS/Source/tasks.c
+++ b/FreeRTOS/Source/tasks.c
@@ -844,8 +844,16 @@ tskTCB * pxNewTCB;
 				else if( pxStateList == &xSuspendedTaskList )
 				{
 					/* The task being queried is referenced from the suspended
-					list. */
-					eReturn = eSuspended;
+					list.  Is it genuinely suspended or is it block 
+					indefinitely? */
+					if( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) == NULL )
+					{
+						eReturn = eSuspended;
+					}
+					else
+					{
+						eReturn = eBlocked;
+					}
 				}
 			#endif