diff --git a/src/ebusd/bushandler.cpp b/src/ebusd/bushandler.cpp index 43b54070..9ca23246 100755 --- a/src/ebusd/bushandler.cpp +++ b/src/ebusd/bushandler.cpp @@ -567,7 +567,8 @@ result_t BusHandler::handleSymbol() { // receive next symbol (optionally check reception of sent symbol) symbol_t recvSymbol; - result = m_device->recv(timeout+m_transferLatency, &recvSymbol); + bool isAutoSyn = !sending && m_generateSynInterval == SYN_TIMEOUT && (m_state == bs_noSignal || m_state == bs_skip); + result = m_device->recv(timeout+(isAutoSyn ? 0 : m_transferLatency), &recvSymbol); if (sending) { clockGettime(&recvTime); }