diff --git a/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h b/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h
index a80412bf22..6dff6d872c 100644
--- a/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h
+++ b/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h
@@ -110,7 +110,7 @@ typedef unsigned short UBaseType_t;
 
 /* Interrupt control macros. */
 #define portDISABLE_INTERRUPTS()	_disable_interrupt(); _nop()
-#define portENABLE_INTERRUPTS()		_enable_interrupt()
+#define portENABLE_INTERRUPTS()		_enable_interrupt(); _nop()
 /*-----------------------------------------------------------*/
 
 /* Critical section control macros. */
@@ -118,7 +118,7 @@ typedef unsigned short UBaseType_t;
 
 #define portENTER_CRITICAL()													\
 {																				\
-extern volatile uint16_t usCriticalNesting;								\
+extern volatile uint16_t usCriticalNesting;										\
 																				\
 	portDISABLE_INTERRUPTS();													\
 																				\
@@ -130,7 +130,7 @@ extern volatile uint16_t usCriticalNesting;								\
 
 #define portEXIT_CRITICAL()														\
 {																				\
-extern volatile uint16_t usCriticalNesting;								\
+extern volatile uint16_t usCriticalNesting;										\
 																				\
 	if( usCriticalNesting > portNO_CRITICAL_SECTION_NESTING )					\
 	{																			\
diff --git a/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h b/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h
index 0c87007ecd..cd28cbd9b5 100644
--- a/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h
+++ b/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h
@@ -104,7 +104,7 @@ typedef unsigned short UBaseType_t;
 
 /* Interrupt control macros. */
 #define portDISABLE_INTERRUPTS()	asm volatile ( "DINT" ); asm volatile ( "NOP" )
-#define portENABLE_INTERRUPTS()		asm volatile ( "EINT" )
+#define portENABLE_INTERRUPTS()		asm volatile ( "EINT" ); asm volatile ( "NOP" )
 /*-----------------------------------------------------------*/
 
 /* Critical section control macros. */
diff --git a/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h b/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h
index cb7ebe8718..e19b9180b1 100644
--- a/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h
+++ b/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h
@@ -102,7 +102,7 @@ typedef unsigned short UBaseType_t;
 
 /* Interrupt control macros. */
 #define portDISABLE_INTERRUPTS()	_DINT(); _NOP()
-#define portENABLE_INTERRUPTS()		_EINT();
+#define portENABLE_INTERRUPTS()		_EINT(); _NOP()
 /*-----------------------------------------------------------*/
 
 /* Critical section control macros. */
diff --git a/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h b/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h
index b6c7ab72c2..2873e9355b 100644
--- a/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h
+++ b/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h
@@ -110,7 +110,7 @@ typedef unsigned short UBaseType_t;
 
 /* Interrupt control macros. */
 #define portDISABLE_INTERRUPTS()	_DINT();_NOP()
-#define portENABLE_INTERRUPTS()		_EINT()
+#define portENABLE_INTERRUPTS()		_EINT(); _NOP()
 /*-----------------------------------------------------------*/
 
 /* Critical section control macros. */
@@ -118,7 +118,7 @@ typedef unsigned short UBaseType_t;
 
 #define portENTER_CRITICAL()													\
 {																				\
-extern volatile uint16_t usCriticalNesting;								\
+extern volatile uint16_t usCriticalNesting;										\
 																				\
 	portDISABLE_INTERRUPTS();													\
 																				\
@@ -130,7 +130,7 @@ extern volatile uint16_t usCriticalNesting;								\
 
 #define portEXIT_CRITICAL()														\
 {																				\
-extern volatile uint16_t usCriticalNesting;							\
+extern volatile uint16_t usCriticalNesting;										\
 																				\
 	if( usCriticalNesting > portNO_CRITICAL_SECTION_NESTING )					\
 	{																			\