diff --git a/epicardium/modules/hardware.c b/epicardium/modules/hardware.c
index 10b85356e7b976c710a44ea269b60641d9a4fe42..a9241525bdd68619baaa728c7b1e37c964e3c054 100644
--- a/epicardium/modules/hardware.c
+++ b/epicardium/modules/hardware.c
@@ -73,11 +73,6 @@ int hardware_early_init(void)
 	 */
 	portexpander_init();
 
-	/*
-	 * RNG
-	 */
-	TRNG_Init(NULL);
-
 	/*
 	 * Buttons
 	 */
diff --git a/epicardium/modules/trng.c b/epicardium/modules/trng.c
index 7faa2909c6f90843c647ccaacd27db24273d1d5f..91e001dcdbc7409c42c403a3d884c37091ffff9e 100644
--- a/epicardium/modules/trng.c
+++ b/epicardium/modules/trng.c
@@ -6,6 +6,7 @@ int epic_trng_read(uint8_t *dest, size_t size)
 	if (dest == NULL)
 		return -EFAULT;
 
+	TRNG_Init(NULL);
 	TRNG_Read(MXC_TRNG, dest, size);
 
 	return 0;