         if(firstData) {
             firstData = false
             skipBytes = try analyzeBOM()
-        }
-
-        data.append(contentsOf: buffer[skipBytes ..< count])
+            data.append(contentsOf: buffer[skipBytes ..< count])
+        } else {
+            data.append(contentsOf: buffer[skipBytes ..< count])
+        }
     }
     
     /**

    let dataUnitSize:           Int
    

    var data:                   Data
    var buffer:                 [UInt8]
    var encoding:               String.Encoding
    var firstData:              Bool

        self.streamDescription = description ?? stream.description
        self.firstData = true

        self.data = [UInt8]()
        self.buffer = [UInt8](repeating: 0, count: self.bufferSize)
        
        if(stream.streamStatus == .notOpen)
