 #ifdef HAS_COUNTS
   event_count++;
 #endif
-  if (is_broadcast)
-    return;
+  if (is_broadcast) {
+#ifdef HAS_DIAGS
+    modbus_message_no_response_count++;
+#endif
+    return;
+  }
     
   modbus_out_cnt = 0;
   

#endif
#ifdef HAS_SRVR_ID
    case FC_REPORT_SERVER_ID:
      if (is_broadcast)
        goto done;
        
      slave_report_server_id();
      break;
#endif
#ifdef HAS_FIFO
    case FC_READ_FIFO:
      if (is_broadcast)
        goto done;
        
      slave_read_fifo();
      break;
#endif
#ifdef HAS_FILES
    case FC_READ_FILE_RECORD:
      if (is_broadcast)
        goto done;
        
      slave_read_file_record();
      break;
    case FC_WRITE_FILE_RECORD:

#include <EEPROM.h>
#include <alloca.h>
#include <avr/wdt.h>
#include <avr/pgmspace.h>

/*
 * Hardware identification.
