diff --git a/lib/HttpRequest.js b/lib/HttpRequest.js
index <HASH>..<HASH> 100644
--- a/lib/HttpRequest.js
+++ b/lib/HttpRequest.js
@@ -63,6 +63,7 @@ HttpRequest.prototype.equals = function (other) {
     return this === other || (
         other instanceof HttpRequest &&
         this.requestLine.equals(other.requestLine) &&
+        Boolean(this.encrypted) === Boolean(other.encrypted) &&
         Message.prototype.equals.call(this, other)
     );
 };
diff --git a/test/HttpRequest.js b/test/HttpRequest.js
index <HASH>..<HASH> 100644
--- a/test/HttpRequest.js
+++ b/test/HttpRequest.js
@@ -133,4 +133,10 @@ describe('HttpRequest', function () {
             httpRequest2 = new HttpRequest('GET /foo HTTP/1.1\r\nHost: bar.com\r\n\r\nquux');
         expect(httpRequest1.equals(httpRequest2), 'to be false');
     });
+
+    it('should consider instances with different encrypted flags different', function () {
+        var httpRequest1 = new HttpRequest({encrypted: true}),
+            httpRequest2 = new HttpRequest({encrypted: false});
+        expect(httpRequest1.equals(httpRequest2), 'to be false');
+    });
 });
HttpRequest: Make the equals method aware of the encrypted flag.