diff --git a/Valley.Net.Protocols.MeterBus/EN13757_2/MeterbusFrameSerializer.cs b/Valley.Net.Protocols.MeterBus/EN13757_2/MeterbusFrameSerializer.cs
index 6594bdf..b969db4 100644
--- a/Valley.Net.Protocols.MeterBus/EN13757_2/MeterbusFrameSerializer.cs
+++ b/Valley.Net.Protocols.MeterBus/EN13757_2/MeterbusFrameSerializer.cs
@@ -214,14 +214,16 @@ private static int Serialize(AckFrame frame, BinaryWriter writer)
 
         private static int Serialize(ControlFrame frame, BinaryWriter writer)
         {
-            writer.Write(frame.Start);
-            writer.Write(frame.Length);
-            writer.Write(frame.Length);
-            writer.Write(frame.Start);
-            writer.Write(frame.Crc);
-            writer.Write(frame.Stop);
-
-            return 6;
+          writer.Write(frame.Start);
+          writer.Write((byte)0x03);
+          writer.Write((byte)0x03);
+          writer.Write(frame.Start);
+          writer.Write((byte)frame.Control);
+          writer.Write(frame.Address);
+          writer.Write((byte)frame.ControlInformation);
+          writer.Write(frame.Crc);
+          writer.Write(frame.Stop);
+          return 9;
         }
     }
 }