diff --git a/lib/src/main/java/de/kuschku/libquassel/protocol/primitive/serializer/StringSerializer.kt b/lib/src/main/java/de/kuschku/libquassel/protocol/primitive/serializer/StringSerializer.kt
index 9f49f4d62ea7281256a830a9177d2c1c225e8b62..dad9082c4d25f497d1f6241765accca9baf44937 100644
--- a/lib/src/main/java/de/kuschku/libquassel/protocol/primitive/serializer/StringSerializer.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/protocol/primitive/serializer/StringSerializer.kt
@@ -24,13 +24,14 @@ abstract class StringSerializer(
     }
   )
 
-  private val charBuffer = ThreadLocal<CharBuffer>()
+  //private val charBuffer = ThreadLocal<CharBuffer>()
 
   object UTF16 : StringSerializer(Charsets.UTF_16BE)
   object UTF8 : StringSerializer(Charsets.UTF_8)
   object C : StringSerializer(Charsets.ISO_8859_1, trailingNullByte = true)
 
   private inline fun charBuffer(len: Int): CharBuffer {
+    /*
     if (charBuffer.get() == null)
       charBuffer.set(CharBuffer.allocate(1024))
     val buf = if (len >= 1024)
@@ -40,9 +41,10 @@ abstract class StringSerializer(
     buf.clear()
     buf.limit(len)
     return buf
+    */
+    return CharBuffer.allocate(len)
   }
 
-  @Synchronized
   override fun serialize(buffer: ChainedByteBuffer, data: String?, features: Quassel_Features) {
     if (data == null) {
       IntSerializer.serialize(buffer, -1, features)
@@ -50,7 +52,6 @@ abstract class StringSerializer(
       val charBuffer = charBuffer(data.length)
       charBuffer.put(data)
       charBuffer.flip()
-      encoder.reset()
       val byteBuffer = encoder.encode(charBuffer)
       IntSerializer.serialize(buffer, byteBuffer.remaining() + trailingNullBytes, features)
       buffer.put(byteBuffer)
@@ -59,18 +60,15 @@ abstract class StringSerializer(
     }
   }
 
-  @Synchronized
   fun serialize(data: String?): ByteBuffer = if (data == null) {
     ByteBuffer.allocate(0)
   } else {
     val charBuffer = charBuffer(data.length)
     charBuffer.put(data)
     charBuffer.flip()
-    encoder.reset()
     encoder.encode(charBuffer)
   }
 
-  @Synchronized
   fun deserializeAll(buffer: ByteBuffer): String? {
     val len = buffer.remaining()
     return if (len == -1) {
@@ -79,7 +77,6 @@ abstract class StringSerializer(
       val limit = buffer.limit()
       buffer.limit(buffer.position() + len - trailingNullBytes)
       val charBuffer = charBuffer(len)
-      decoder.reset()
       decoder.decode(buffer, charBuffer, true)
       buffer.limit(limit)
       buffer.position(buffer.position() + trailingNullBytes)
@@ -88,7 +85,6 @@ abstract class StringSerializer(
     }
   }
 
-  @Synchronized
   override fun deserialize(buffer: ByteBuffer, features: Quassel_Features): String? {
     val len = IntSerializer.deserialize(buffer, features)
     return if (len == -1) {
@@ -97,7 +93,6 @@ abstract class StringSerializer(
       val limit = buffer.limit()
       buffer.limit(buffer.position() + Math.max(0, len - trailingNullBytes))
       val charBuffer = charBuffer(len)
-      decoder.reset()
       decoder.decode(buffer, charBuffer, true)
       buffer.limit(limit)
       buffer.position(buffer.position() + trailingNullBytes)