diff --git a/src/core/soft_uart.c b/src/core/soft_uart.c
index 8d9142b..8cf45e1 100644
--- a/src/core/soft_uart.c
+++ b/src/core/soft_uart.c
@@ -111,9 +111,6 @@
 /* receive a single bit */
 static inline void osmo_uart_rx_bit(struct osmo_soft_uart *suart, const ubit_t bit)
 {
-	if (!suart->rx.running)
-		return;
-
 	switch (suart->rx.flow_state) {
 	case SUART_FLOW_ST_IDLE:
 		if (bit == 0) { /* start bit condition */
@@ -196,9 +193,12 @@
  * \param[in] suart soft-UART instance to feed bits into.
  * \param[in] ubits pointer to the unpacked bits.
  * \param[in] n_ubits number of unpacked bits to be fed.
- * \returns 0 on success; negative on error. */
+ * \returns 0 on success; negative on error.
+ *          -EAGAIN indicates that the receiver is disabled. */
 int osmo_soft_uart_rx_ubits(struct osmo_soft_uart *suart, const ubit_t *ubits, size_t n_ubits)
 {
+	if (!suart->rx.running)
+		return -EAGAIN;
 	for (size_t i = 0; i < n_ubits; i++)
 		osmo_uart_rx_bit(suart, ubits[i]);
 	return 0;
@@ -213,9 +213,6 @@
 {
 	ubit_t tx_bit = 1;
 
-	if (!suart->tx.running)
-		return tx_bit;
-
 	switch (suart->tx.flow_state) {
 	case SUART_FLOW_ST_IDLE:
 		if (msg && msgb_length(msg) > 0) { /* if we have pending data */
@@ -280,7 +277,8 @@
  * \param[in] suart soft-UART instance to pull the bits from.
  * \param[out] ubits pointer to a buffer where to store pulled bits.
  * \param[in] n_ubits number of unpacked bits to be pulled.
- * \returns 0 on success; negative on error. */
+ * \returns 0 on success; negative on error.
+ *          -EAGAIN indicates that the transmitter is disabled. */
 int osmo_soft_uart_tx_ubits(struct osmo_soft_uart *suart, ubit_t *ubits, size_t n_ubits)
 {
 	const struct osmo_soft_uart_cfg *cfg = &suart->cfg;
@@ -290,6 +288,9 @@
 	if (OSMO_UNLIKELY(n_ubits == 0))
 		return -EINVAL;
 
+	if (!suart->tx.running)
+		return -EAGAIN;
+
 	/* calculate UART frame size for the effective config */
 	n_frame_bits = 1 + cfg->num_data_bits + cfg->num_stop_bits;
 	if (cfg->parity_mode != OSMO_SUART_PARITY_NONE)
