diff --git a/epicardium/api/control.c b/epicardium/api/control.c
index e11037b4f2ad9ffbecc3bd23e8369551dca4336c..f3e7ed99e278f5c271ec6d0921e10e7deed6d51f 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);
 
 	/*
 	 * Reset Interrupts
@@ -176,8 +176,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 d531846d89fcdfaf634d1d0fa355d057a9125db3..11dd4e1cf2680f94b0a850163fa597878b0fb039 100644
--- a/epicardium/api/interrupt-sender.c
+++ b/epicardium/api/interrupt-sender.c
@@ -15,7 +15,7 @@ int api_interrupt_trigger(api_int_id_t id)
 			;
 
 		API_CALL_MEM->int_id = id;
-		TMR_TO_Start(MXC_TMR5, 1, 0);
+		TMR_TO_Start(MXC_TMR3, 1, 0);
 	}
 	return 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 60cd9df0cdf1e08a01ffd3df84772d9c6276e7ac..b1474a4c060a31b2e47540967d5fccea46a94058 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