diff --git a/cpu/msp430-common/lpm_cpu.c b/cpu/msp430-common/lpm_cpu.c
index 96fa00e692b4b503821eced1a0ae137198774d00..e7893bb0ac086eb544a8aff07b8bfdf9f427a83d 100644
--- a/cpu/msp430-common/lpm_cpu.c
+++ b/cpu/msp430-common/lpm_cpu.c
@@ -82,7 +82,7 @@ enum lpm_mode lpm_set(enum lpm_mode target)
     case LPM_OFF:
         /* MCU totally down (LPM4), only RESET or NMI can resume execution */
         __bis_status_register(CPUOFF | OSCOFF | SCG0 | SCG1);
-                              /* all blocks off */
+                               /* all blocks off */
         break;
     default:
         printf("ERROR: trying to set an invalid low-power mode!\n");
diff --git a/cpu/msp430-common/msp430-main.c b/cpu/msp430-common/msp430-main.c
index 50dcbd1985d6decef97a1f72f085bb71129a34f0..6a908f2a4910e06ef8be5e68980509106e89632b 100644
--- a/cpu/msp430-common/msp430-main.c
+++ b/cpu/msp430-common/msp430-main.c
@@ -170,6 +170,7 @@ splhigh_(void)
 void
 splx_(int sr)
 {
+    sr &= GIE;
     /* If GIE was set, restore it. */
     asmv("bis %0, r2" : : "r"(sr));
     asmv("nop");