diff --git a/epicardium/api/control.c b/epicardium/api/control.c
index deff433010bf426c1c8a59bcab5450d7787fe55a..82f77074eac5828f022bce5f15fe183ebfd8e600 100644
--- a/epicardium/api/control.c
+++ b/epicardium/api/control.c
@@ -74,7 +74,7 @@ void __core1_init(void)
 	/*
 	 * Clear any pending API interrupts.
 	 */
-	TMR_IntClear(MXC_TMR5);
+	TMR_IntClear(MXC_TMR3);
 
 	/*
 	 * Disable the SysTick
@@ -181,8 +181,8 @@ void __core1_init(void)
 	/*
 	 * Clear any pending API interrupts.
 	 */
-	TMR_IntClear(MXC_TMR5);
-	NVIC_ClearPendingIRQ(TMR5_IRQn);
+	TMR_IntClear(MXC_TMR3);
+	NVIC_ClearPendingIRQ(TMR3_IRQn);
 
 	/*
 	 * Jump to payload's reset handler
diff --git a/epicardium/api/interrupt-receiver.c b/epicardium/api/interrupt-receiver.c
index f9856423fd1a51211752dcd810b608fb549f9fcd..e11d591d51858dd5fc91563fc3872b6d5aab589f 100644
--- a/epicardium/api/interrupt-receiver.c
+++ b/epicardium/api/interrupt-receiver.c
@@ -6,9 +6,9 @@
 void __dispatch_isr(api_int_id_t);
 
 /* Timer Interrupt used for control char notification */
-void TMR5_IRQHandler(void)
+void TMR3_IRQHandler(void)
 {
-	TMR_IntClear(MXC_TMR5);
+	TMR_IntClear(MXC_TMR3);
 	__dispatch_isr(API_CALL_MEM->int_id);
 	API_CALL_MEM->int_id = (-1);
 }
diff --git a/epicardium/api/interrupt-sender.c b/epicardium/api/interrupt-sender.c
index fad7ed674ef85f7e0553abbfc86ed1cca6af37d5..1d696fa8702f09d7adc85b2366279694bf0c8fb4 100644
--- a/epicardium/api/interrupt-sender.c
+++ b/epicardium/api/interrupt-sender.c
@@ -18,5 +18,5 @@ void api_interrupt_trigger(api_int_id_t id)
 	assert(API_CALL_MEM->int_id == (api_int_id_t)(-1));
 
 	API_CALL_MEM->int_id = id;
-	TMR_TO_Start(MXC_TMR5, 1, 0);
+	TMR_TO_Start(MXC_TMR3, 1, 0);
 }
diff --git a/l0dables/lib/crt.s b/l0dables/lib/crt.s
index 79e32651572581b5aa9fdaa8b26e7a1b8cf67f3d..12e4f798d24c67e35f0db11863d2b5f23baa47d5 100644
--- a/l0dables/lib/crt.s
+++ b/l0dables/lib/crt.s
@@ -207,8 +207,8 @@ DefaultHandler:
 		def_irq_handler    TMR0_IRQHandler
 		def_irq_handler    TMR1_IRQHandler
 		def_irq_handler    TMR2_IRQHandler
-		def_irq_handler    TMR3_IRQHandler
 		def_irq_handler    TMR4_IRQHandler
+		def_irq_handler    TMR5_IRQHandler
 		def_irq_handler    RSV11_IRQHandler
 		def_irq_handler    RSV12_IRQHandler
 		def_irq_handler    I2C0_IRQHandler
diff --git a/l0dables/lib/hardware.c b/l0dables/lib/hardware.c
index 209ee97ad24059860b437e2284f0704f928ae02e..ef92eef36263f6285c50c9e79bf93d9974ee5850 100644
--- a/l0dables/lib/hardware.c
+++ b/l0dables/lib/hardware.c
@@ -77,7 +77,7 @@ __weak void SystemInit()
 	SystemCoreClockUpdate();
 
 	// Enable API interrupt.
-	NVIC_EnableIRQ(TMR5_IRQn);
+	NVIC_EnableIRQ(TMR3_IRQn);
 }
 
 // newlib syscall to allow printf to work.
diff --git a/pycardium/mphalport.c b/pycardium/mphalport.c
index 5ae9cee49f60b7c133d3bdd97bc8c3a293d6b29c..df7783e7e883db92638467bdefad468581e30bfb 100644
--- a/pycardium/mphalport.c
+++ b/pycardium/mphalport.c
@@ -23,8 +23,8 @@
 /* Initialize everything for MicroPython */
 void pycardium_hal_init(void)
 {
-	/* TMR5 is used for interrupts from Epicardium */
-	NVIC_EnableIRQ(TMR5_IRQn);
+	/* TMR3 is used for interrupts from Epicardium */
+	NVIC_EnableIRQ(TMR3_IRQn);
 
 	/*
 	 * Enable UART RX Interrupt so Pycardium can sleep until