diff --git a/Src/dw1000.c b/Src/dw1000.c
index 3fe78b4ad3787ad78fc1e53fd7ae668de3f3cfd4..207394f383a2438b458c4b0b2a5c5ecdb10f90f9 100644
--- a/Src/dw1000.c
+++ b/Src/dw1000.c
@@ -38,6 +38,7 @@ int dw1000_sendFrame(uint8_t *payload, uint16_t len) {
 	// set up a complete config for the register
 	// the bits are cleared automatically after the transmission and need to be set up for the next transmission again!
 	uint32_t sys_ctrl = 0;
+	dw1000Hal_readRegister(SYS_CTRL_ID, &sys_ctrl, 4);
 	sys_ctrl |= SYS_CTRL_TRXOFF;							//  Immediately cancel all RX and TX operations, bring radio to IDLE state
 	dw1000Hal_writeRegister(SYS_CTRL_ID, &sys_ctrl, 4);
 	sys_ctrl = 0;
@@ -47,7 +48,7 @@ int dw1000_sendFrame(uint8_t *payload, uint16_t len) {
 															// TXDLYS not set -> no delayed transmission
 															// CANSFCS not set (only useful when starting transmission before uploading payload)
 															// TRXOFF not set (this would turn off the transmitter immediately)
-	sys_ctrl |= SYS_CTRL_WAIT4RESP;							// turn on receiver after transmission to receive a response (ACK)
+	//sys_ctrl |= SYS_CTRL_WAIT4RESP;						// turn on receiver after transmission to receive a response (ACK)
 															// RXENAB not set (this would enter receive mode)
 															// RXDLYE not set (used for delayed reception)
 															// HRBPT not set (chooses receive buffer)
diff --git a/Src/dw1000_hal.c b/Src/dw1000_hal.c
index 1542cdf5d523b29dd3909c631c46780c9aff4299..a7330adc1ebd4d8805dfb2868038b189369e3df1 100644
--- a/Src/dw1000_hal.c
+++ b/Src/dw1000_hal.c
@@ -334,6 +334,10 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 
 		if (event & SYS_STATUS_RXDFR){ // Frame sent
 			event_clear |= SYS_STATUS_RXDFR; //clear interrupt
+			uint32_t sys_ctrl = 0;
+			dw1000Hal_readRegisterFromIsr(SYS_CTRL_ID, (uint8_t*)&sys_ctrl, SYS_CTRL_LEN); // switch to rx mode
+			sys_ctrl |= SYS_CTRL_RXENAB;
+			dw1000Hal_writeRegisterFromIsr(SYS_CTRL_ID, (uint8_t*)&sys_ctrl, SYS_CTRL_LEN);
 
 		}
 		if (event & SYS_STATUS_CLKPLL_LL){ // Frame sent