diff --git a/Source/portable/RVDS/ARM_CM3/port.c b/Source/portable/RVDS/ARM_CM3/port.c
index 6e34f4658e..09271af520 100644
--- a/Source/portable/RVDS/ARM_CM3/port.c
+++ b/Source/portable/RVDS/ARM_CM3/port.c
@@ -182,7 +182,7 @@ void vPortEndScheduler( void )
 void vPortYieldFromISR( void )
 {
 	/* Set a PendSV to request a context switch. */
-	*(portNVIC_INT_CTRL) |= portNVIC_PENDSVSET;
+	*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;
 }
 /*-----------------------------------------------------------*/
 
@@ -242,7 +242,7 @@ unsigned portLONG ulDummy;
 
 	/* If using preemption, also force a context switch. */
 	#if configUSE_PREEMPTION == 1
-		*(portNVIC_INT_CTRL) |= portNVIC_PENDSVSET;	
+		*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;	
 	#endif
 
 	ulDummy = portSET_INTERRUPT_MASK_FROM_ISR();