diff --git a/CHANGELOG.md b/CHANGELOG.md
index c5b8129523f088537b8c1d5799f6f1c4db1fd06d..336be349740a015a9bd2f7365d695b41e92a19c4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
 ## 1.0.2
 
 * Fixed a bug where bytes were not written to the serial stream correctly.
+* Now correctly handles writing both byte arrays and strings to the serial port.
 
 ## 1.0.1
 
diff --git a/lib/kiss/kiss_serial.rb b/lib/kiss/kiss_serial.rb
index b2bf230960f3d4d4355d70ef18834a0b3c8c6405..6a92645edb3f28b6cbe270f733823308f7375b6c 100644
--- a/lib/kiss/kiss_serial.rb
+++ b/lib/kiss/kiss_serial.rb
@@ -39,7 +39,9 @@ module Kiss
 
         protected
         def write_interface(data)
-            data = data.map { |b| b.chr }.join
+            unless data.is_a? String
+                data = data.map { |b| b.chr }.join
+            end
             @serial.write(data)
         end