diff --git a/Source/timers.c b/Source/timers.c
index ed710bd..88959ed 100644
--- a/Source/timers.c
+++ b/Source/timers.c
@@ -135,7 +135,7 @@
  * The tick count has overflowed.  Switch the timer lists after ensuring the
  * current timer list does not still reference some timers.
  */
-static void prvSwitchTimerLists( portTickType xTimeNow, portTickType xLastTime ) PRIVILEGED_FUNCTION;
+static void prvSwitchTimerLists( portTickType xLastTime ) PRIVILEGED_FUNCTION;
 
 /*
  * Obtain the current tick count, setting *pxTimerListsWereSwitched to pdTRUE
@@ -270,12 +270,8 @@
 		if( prvInsertTimerInActiveList( pxTimer, ( xNextExpireTime + pxTimer->xTimerPeriodInTicks ), xTimeNow, xNextExpireTime ) == pdTRUE )
 		{
 			/* The timer expired before it was added to the active timer
-			list.  Reload it now.  The callback will get executed before
-			this function exits. */
-			if( pxTimer->uxAutoReload == pdTRUE )
-			{
-				xTimerGenericCommand( pxTimer, tmrCOMMAND_START, xNextExpireTime, NULL, tmrNO_DELAY ); /* Should it be xNextExpireTime or ( xNextExpireTime + pxTimer->xTimerPeriodInTicks )?  I think the former. */
-			}
+			list.  Reload it now.  */
+			xTimerGenericCommand( pxTimer, tmrCOMMAND_START, xNextExpireTime, NULL, tmrNO_DELAY );
 		}
 	}
 
@@ -386,7 +382,7 @@
 	
 	if( xTimeNow < xLastTime )
 	{
-		prvSwitchTimerLists( xTimeNow, xLastTime );
+		prvSwitchTimerLists( xLastTime );
 		*pxTimerListsWereSwitched = pdTRUE;
 	}
 	else
@@ -510,10 +506,11 @@
 }
 /*-----------------------------------------------------------*/
 
-static void prvSwitchTimerLists( portTickType xTimeNow, portTickType xLastTime )
+static void prvSwitchTimerLists( portTickType xLastTime )
 {
 portTickType xNextExpireTime;
 xList *pxTemp;
+xTIMER *pxTimer;
 
 	/* Remove compiler warnings if configASSERT() is not defined. */
 	( void ) xLastTime;
@@ -526,7 +523,19 @@
 	{
 		xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList );
 		configASSERT( ( xNextExpireTime >= xLastTime ) );
-		prvProcessExpiredTimer( xNextExpireTime, xTimeNow );
+
+		/* Remove the timer from the list. */
+		pxTimer = ( xTIMER * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTimerList );
+		vListRemove( &( pxTimer->xTimerListItem ) );
+
+		/* Execute its callback, then send a command to restart the timer if
+		it is an auto-reload timer.  It cannot be restarted here as the lists
+		have not yet been switched. */
+		pxTimer->pxCallbackFunction( ( xTimerHandle ) pxTimer );
+		if( pxTimer->uxAutoReload == pdTRUE )
+		{
+			xTimerGenericCommand( pxTimer, tmrCOMMAND_START, xNextExpireTime, NULL, tmrNO_DELAY );
+		}
 	}
 
 	pxTemp = pxCurrentTimerList;
