diff --git a/stmhal/system_stm32f4xx.c b/stmhal/system_stm32f4xx.c
index 4f8090204faea8d2d84b8d547760de2ab6f1705c..e9742caf40ba4a1b3f16016116734372f520765a 100644
--- a/stmhal/system_stm32f4xx.c
+++ b/stmhal/system_stm32f4xx.c
@@ -199,6 +199,9 @@ void SystemInit(void)
 #else
   SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
 #endif
+
+  /* dpgeorge: enable 8-byte stack alignment for IRQ handlers, in accord with EABI */
+  SCB->CCR |= SCB_CCR_STKALIGN_Msk;
 }
 
 /**