diff --git a/lib/connection.js b/lib/connection.js
index 9a1bd3dd..aa68885e 100644
--- a/lib/connection.js
+++ b/lib/connection.js
@@ -553,7 +553,7 @@ class Connection extends EventEmitter {
 
   recvFrame () {
     // %%% identifying invariants might help here?
-    var frame = parseFrame(this.rest, this.frameMax);
+    var frame = parseFrame(this.rest);
 
     if (!frame) {
       var incoming = this.stream.read();
diff --git a/lib/frame.js b/lib/frame.js
index ad0ea090..093ec8b6 100644
--- a/lib/frame.js
+++ b/lib/frame.js
@@ -47,14 +47,11 @@ module.exports.makeBodyFrame = function(channel, payload) {
 var frameHeaderPattern = Bits.matcher('type:8', 'channel:16',
                                       'size:32', 'rest/binary');
 
-function parseFrame(bin, max) {
+function parseFrame(bin) {
   var fh = frameHeaderPattern(bin);
   if (fh) {
     var size = fh.size, rest = fh.rest;
-    if (size > max) {
-      throw new Error('Frame size exceeds frame max');
-    }
-    else if (rest.length > size) {
+    if (rest.length > size) {
       if (rest[size] !== FRAME_END)
         throw new Error('Invalid frame');
 
diff --git a/test/frame.js b/test/frame.js
index 5037e663..bfdff0bf 100644
--- a/test/frame.js
+++ b/test/frame.js
@@ -69,12 +69,6 @@ suite("Explicit parsing", function() {
                   0,0,0,0, // garbage ID
                   defs.constants.FRAME_END]);
 
-  testBogusFrame('> max frame',
-                 [defs.constants.FRAME_BODY,
-                  0,0, 0,0,0,6, // too big!
-                  65,66,67,68,69,70,
-                  defs.constants.FRAME_END]);
-
 });
 
 // Now for a bit more fun.