diff --git a/master/master.c b/master/master.c
index d2b954495b5a924d4f500c0a8cc34fc890476495..d23b03efec3064fa3d16db6d3e7a07ed14a19065 100644
--- a/master/master.c
+++ b/master/master.c
@@ -129,6 +129,7 @@ int ec_master_init(ec_master_t *master, /**< EtherCAT master */
     master->debug_level = 0;
 
     master->stats.timeouts = 0;
+    master->stats.starved = 0;
     master->stats.corrupted = 0;
     master->stats.skipped = 0;
     master->stats.unmatched = 0;
@@ -710,6 +711,11 @@ void ec_master_output_stats(ec_master_t *master /**< EtherCAT master */)
                     master->stats.timeouts == 1 ? "" : "s");
             master->stats.timeouts = 0;
         }
+        if (master->stats.starved) {
+            EC_WARN("%i datagram%s STARVED!\n", master->stats.starved,
+                    master->stats.starved == 1 ? "" : "s");
+            master->stats.starved = 0;
+        }
         if (master->stats.corrupted) {
             EC_WARN("%i frame%s CORRUPTED!\n", master->stats.corrupted,
                     master->stats.corrupted == 1 ? "" : "s");
@@ -1438,7 +1444,7 @@ void ecrt_master_receive(ec_master_t *master /**< EtherCAT master */)
                     - datagram->cycles_queued > cycles_timeout) {
                     list_del_init(&datagram->queue);
                     datagram->state = EC_DATAGRAM_TIMED_OUT;
-                    master->stats.timeouts++;
+                    master->stats.starved++;
                     ec_master_output_stats(master);
                 }
                 break;
diff --git a/master/master.h b/master/master.h
index a27154d5a020c9073ee89729c91cddab47d1e80b..e44318f5efdec3c68264c5659694505c965c009d 100644
--- a/master/master.h
+++ b/master/master.h
@@ -75,6 +75,7 @@ ec_master_mode_t;
 typedef struct
 {
     unsigned int timeouts; /**< datagram timeouts */
+    unsigned int starved; /**< starved datagrams (not even sent) */
     unsigned int corrupted; /**< corrupted frames */
     unsigned int skipped; /**< skipped datagrams (the ones that were
                              requeued when not yet received) */