@@ 16,7 16,6 @@ public class PacketStringBuilder
 {
     private readonly StringBuilder _builder;
     private StringBuilderLevel _currentLevel;
-    private char? _preparedLevelSeparator;
     private char? _insertSeparator;
 
     /// <summary>
@@ 26,7 25,7 @@ public class PacketStringBuilder
     public PacketStringBuilder(char separator = ' ')
     {
         _currentLevel = new StringBuilderLevel(null, separator);
-        _preparedLevelSeparator = _insertSeparator = null;
+        _insertSeparator = null;
         _builder = new StringBuilder();
     }
 
@@ 48,7 47,7 @@ public class PacketStringBuilder
     /// <param name="separator">The separator of the prepared level.</param>
     public void PrepareLevel(char separator)
     {
-        _preparedLevelSeparator = separator;
+        _currentLevel.PreparedLevelSeparator = separator;
     }
 
     /// <summary>
@@ 56,7 55,7 @@ public class PacketStringBuilder
     /// </summary>
     public void RemovePreparedLevel()
     {
-        _preparedLevelSeparator = null;
+        _currentLevel.PreparedLevelSeparator = null;
     }
 
     /// <summary>
@@ 69,12 68,12 @@ public class PacketStringBuilder
     /// <returns>An enumerator with the new level pushed.</returns>
     public bool PushPreparedLevel()
     {
-        if (_preparedLevelSeparator is null)
+        if (_currentLevel.PreparedLevelSeparator is null)
         {
             return false;
         }
 
-        _currentLevel = new StringBuilderLevel(_currentLevel, _preparedLevelSeparator.Value);
+        _currentLevel = new StringBuilderLevel(_currentLevel, _currentLevel.PreparedLevelSeparator.Value);
         return true;
     }
 
@@ 88,7 87,6 @@ public class PacketStringBuilder
     /// <param name="separator">The separator of the new level.</param>
     public void PushLevel(char separator)
     {
-        _preparedLevelSeparator = null;
         _currentLevel = new StringBuilderLevel(_currentLevel, separator);
     }
 
@@ 303,6 301,8 @@ public class PacketStringBuilder
 
         public StringBuilderLevel? Parent { get; }
 
+        public char? PreparedLevelSeparator { get; set; }
+
         public char Separator { get; }
 
         public char? SeparatorOnce { get; set; }