diff --git a/libminifi/include/io/CRCStream.h b/libminifi/include/io/CRCStream.h
index 95e3a11..2c7f3d5 100644
--- a/libminifi/include/io/CRCStream.h
+++ b/libminifi/include/io/CRCStream.h
@@ -189,7 +189,9 @@
 template<typename T>
 int CRCStream<T>::readData(uint8_t *buf, int buflen) {
   int ret = child_stream_->read(buf, buflen);
-  crc_ = crc32(crc_, buf, ret);
+  if (ret > 0) {
+    crc_ = crc32(crc_, buf, ret);
+  }
   return ret;
 }
 
@@ -205,7 +207,9 @@
 int CRCStream<T>::writeData(uint8_t *value, int size) {
 
   int ret = child_stream_->write(value, size);
-  crc_ = crc32(crc_, value, size);
+  if (ret > 0) {
+    crc_ = crc32(crc_, value, ret);
+  }
   return ret;
 
 }
diff --git a/nanofi/include/sitetosite/CSiteToSite.h b/nanofi/include/sitetosite/CSiteToSite.h
index 0569f04..a35b3c5 100644
--- a/nanofi/include/sitetosite/CSiteToSite.h
+++ b/nanofi/include/sitetosite/CSiteToSite.h
@@ -324,14 +324,18 @@
 
 static int writeData(CTransaction * transaction, const uint8_t *value, int size) {
   int ret = write_buffer(value, size, transaction->_stream);
-  transaction->_crc = crc32(transaction->_crc, value, size);
+  if (ret > 0) {
+    transaction->_crc = crc32(transaction->_crc, value, ret);
+  }
   return ret;
 }
 
 static int readData(CTransaction * transaction, uint8_t *buf, int buflen) {
   //int ret = transaction->_stream->read(buf, buflen);
   int ret = read_buffer(buf, buflen, transaction->_stream);
-  transaction->_crc = crc32(transaction->_crc, buf, ret);
+  if (ret > 0) {
+    transaction->_crc = crc32(transaction->_crc, buf, ret);
+  }
   return ret;
 }
 
