diff --git a/pycardium/mphalport.c b/pycardium/mphalport.c
index d7fc93c9a9179a5f945dafaa4b8e172ed4561567..2fa432eb57020c0ccb9627fd8b3b5dbeb1124de0 100644
--- a/pycardium/mphalport.c
+++ b/pycardium/mphalport.c
@@ -23,7 +23,6 @@
 // Smallest interval which can be reached exactly
 // * 8 to allow up to 100 ms epic calls
 #define SYSTICK_INTERVAL_US (15625ULL * 8ULL)
-#define SYSTICK_FREQ_HZ (1000000 / SYSTICK_INTERVAL_US)
 
 /*
  * Copied from core_cm4.h and modified to select the
@@ -60,7 +59,7 @@ void pycardium_hal_init(void)
 	/*
 	 * Configure SysTick timer for SYSTICK_INTERVAL_US period.
 	 */
-	systick_config(32768 / SYSTICK_FREQ_HZ);
+	systick_config(SYSTICK_INTERVAL_US * 32768ULL / 1000000);
 }
 
 /******************************************************************************