 #if !defined(ENABLE_FHT8VSIMPLE)
   OTV0P2BASE::serialPrintlnAndFlush(F("="));
 #else
-  TemperatureC16.read(); // Force read as not polled in main loop for COHEAT...
+  // Force sensor read as not polled in main loop for COHEAT... (And flush any serial before messing with clocks, etc.)
+  OTV0P2BASE::flushSerialSCTSensitive();
+  TemperatureC16.read();
   const bool neededWaking = OTV0P2BASE::powerUpSerialIfDisabled<V0P2_UART_BAUD>(); // FIXME
   // Stats line starts with distinguished marker character '='.
   Serial.print((char) OTV0P2BASE::SERLINE_START_CHAR_STATS);

  const bool doubleTXForFTH8V = false;
  // FHT8V is highest priority and runs first.
  // ---------- HALF SECOND #0 -----------
  bool useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_First(doubleTXForFTH8V); // Time for extra TX before UI.
  if(useExtraFHT8VTXSlots)
    {
    handleQueuedMessages(&Serial, true, &PrimaryRadio);
    // ---------- HALF SECOND #1 -----------
    useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_Next(doubleTXForFTH8V); 
    }
  if(useExtraFHT8VTXSlots)
    {
    handleQueuedMessages(&Serial, true, &PrimaryRadio);
    // ---------- HALF SECOND #2 -----------
    useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_Next(doubleTXForFTH8V); 
    }
  if(useExtraFHT8VTXSlots)
    {
    handleQueuedMessages(&Serial, true, &PrimaryRadio);
    // ---------- HALF SECOND #3 -----------
    useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_Next(doubleTXForFTH8V); 
    }
#endif


// Force-enable RX if not already so.
#define ENABLE_RADIO_RX
#define ENABLE_CONTINUOUS_RX // was #define CONFIG_IMPLIES_MAY_NEED_CONTINUOUS_RX true

// Indicate that the system is broken in an obvious way (distress flashing of the main UI LED).
// DOES NOT RETURN.
