diff --git a/master/datagram.c b/master/datagram.c
index 7842daf1079f31cab054f0c5eb888fef67afc067..32b9fff91bdb5ef4b9444ec4841d9026d319b0ed 100644
--- a/master/datagram.c
+++ b/master/datagram.c
@@ -113,8 +113,10 @@ void ec_datagram_init(ec_datagram_t *datagram /**< EtherCAT datagram. */)
  */
 void ec_datagram_clear(ec_datagram_t *datagram /**< EtherCAT datagram. */)
 {
-    if (datagram->data_origin == EC_ORIG_INTERNAL && datagram->data)
+    if (datagram->data_origin == EC_ORIG_INTERNAL && datagram->data) {
         kfree(datagram->data);
+    	datagram->data = NULL;
+    }
 }
 
 /*****************************************************************************/