diff --git a/src/didacticNet.cpp b/src/didacticNet.cpp
index f14ace21992e70b7d533ffd00d95831966f92b66..1596147e02361336adcdb927e9bd048d1bf8b8a8 100644
--- a/src/didacticNet.cpp
+++ b/src/didacticNet.cpp
@@ -43,10 +43,10 @@ bool DidacticPSNet::handleNetwork(){
           handleData();
   			}
   		}
-  		_waitingTime = millis()+ random(CSMA_MIN_DELAY_MS, CSMA_MAX_DELAY_MS);
+  		_waitingTimeCSMA = millis()+ random(CSMA_MIN_DELAY_MS, CSMA_MAX_DELAY_MS);
   	}
   	//else if(_dataToSend){
-    if(_dataToSend && _waitingTime <= millis()){
+    if(_dataToSend && _waitingTimeSend <= millis() && _waitingTimeCSMA <= millis()){
       //send data to network
       //TODO: test added CSMA_CHECKDELAY + 2nd checkData()
       delayMicroseconds(CSMA_CHECK_DELAY_US);
@@ -57,7 +57,7 @@ bool DidacticPSNet::handleNetwork(){
         else{
           _dataToSend = false;
           //_waitingTime = millis()+ random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
-          _waitingTime = millis()+ _intervalTime;//random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
+          _waitingTimeSend = millis() + _intervalTime;//random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
         }
       }
     }
diff --git a/src/didacticNet.h b/src/didacticNet.h
index 596db882857b225191ab1d86fa05712d91df8856..cf3b998c828dbbf53e5c6d77ffff7976f40ccad3 100644
--- a/src/didacticNet.h
+++ b/src/didacticNet.h
@@ -110,7 +110,8 @@ class DidacticPSNet
 		char _sendBufferMessage[MAX_LEN_TOPICS + MAX_LEN_PAYLOAD + LEN_OVERHEAD +1];
 
 		bool _dataToSend = false; // int Data to send for queue?
-		unsigned long _waitingTime = 0L;
+		unsigned long _waitingTimeSend = 0L;
+		unsigned long _waitingTimeCSMA = 0L;
 		unsigned long _intervalTime = 0L;
 		int _currentTopicLength = 0;
 		int _currentPayloadLength  = 0;