diff --git a/lib_avr32/interrupts.c b/lib_avr32/interrupts.c
index ce538f3d9241a5a590824d87383a8e2aeac83d18..28df20db01079fe4b84619016f483397b2d6dc04 100644
--- a/lib_avr32/interrupts.c
+++ b/lib_avr32/interrupts.c
@@ -35,5 +35,5 @@ int disable_interrupts(void)
 	sr = sysreg_read(SR);
 	asm volatile("ssrf	%0" : : "n"(SYSREG_GM_OFFSET));
 
-	return SYSREG_BFEXT(GM, sr);
+	return !SYSREG_BFEXT(GM, sr);
 }