diff --git a/lib/src/message_grouper_state.dart b/lib/src/message_grouper_state.dart
index 2c80fad..6ee524b 100644
--- a/lib/src/message_grouper_state.dart
+++ b/lib/src/message_grouper_state.dart
@@ -4,6 +4,8 @@
 
 import 'dart:typed_data';
 
+import 'package:protobuf/protobuf.dart';
+
 /// State held by the [MessageGrouper] while waiting for additional data to
 /// arrive.
 class MessageGrouperState {
@@ -62,7 +64,7 @@
   /// If [_done] is `true`, the decoded value of the length bytes received so
   /// far (if any).  If [_done] is `false`, the decoded length that was most
   /// recently received.
-  int _length = 0;
+  int _length;
 
   /// The length read in.  You are only allowed to read this if [_done] is
   /// `true`.
@@ -71,21 +73,18 @@
     return _length;
   }
 
-  /// If [_done] is `true`, the amount by which the next received
-  /// length byte must be left-shifted; otherwise undefined.
-  int _lengthShift = 0;
+  final List<int> _buffer = <int>[];
 
   /// Read a single byte into [_length].
   void readByte(int byte) {
     assert(!_done);
+    _buffer.add(byte);
 
-    _length |= (byte & 0x7f) << _lengthShift;
-
-    // Check for the last byte in the length.
+    // Check for the last byte in the length, and then read it.
     if ((byte & 0x80) == 0) {
       _done = true;
-    } else {
-      _lengthShift += 7;
+      var reader = new CodedBufferReader(_buffer);
+      _length = reader.readInt32();
     }
   }
 }
