Index: benchmark/io/http/protocol.cfa
===================================================================
--- benchmark/io/http/protocol.cfa	(revision 52d25458fc51a0cae48e1f9ff4ff4bec2c9ab004)
+++ benchmark/io/http/protocol.cfa	(revision 5614a1915d68cb593dc2a2076d1d7e51433b157e)
@@ -332,10 +332,4 @@
 	wait(this.f);
 
-	// Did something crazy happen?
-	if(this.f.result > this.len) {
-		mutex(serr) serr | "SPLICE IN spliced too much!";
-		return error(this.res, -ERANGE);
-	}
-
 	// Something failed?
 	if(this.f.result < 0) {
@@ -351,4 +345,10 @@
 			return error(this.res, -ECONNRESET);
 		}
+	}
+
+	// Did something crazy happen?
+	if(this.f.result > this.len) {
+		mutex(serr) serr | "SPLICE IN spliced too much!";
+		return error(this.res, -ERANGE);
 	}
 
@@ -401,10 +401,4 @@
 	wait(this.f);
 
-	// Did something crazy happen?
-	if(this.f.result > this.len) {
-		mutex(serr) serr | "SPLICE OUT spliced too much!";
-		return error(this.res, -ERANGE);
-	}
-
 	// Something failed?
 	if(this.f.result < 0) {
@@ -420,4 +414,10 @@
 			return error(this, -ECONNRESET);
 		}
+	}
+
+	// Did something crazy happen?
+	if(this.f.result > this.len) {
+		mutex(serr) serr | "SPLICE OUT spliced too much!" | this.f.result | ">" | this.len;
+		return error(this.res, -ERANGE);
 	}
 
