diff --git a/lib/utils.js b/lib/utils.js
--- a/lib/utils.js
+++ b/lib/utils.js
@@ -322,7 +322,7 @@ exports.parseQuery = function (qs) {
     var key = pair.slice(0, i);
     var val = pair.slice(++i);
 
-    obj[key] = decodeURIComponent(val);
+    obj[key] = decodeURIComponent(val.replace(/\+/g, '%20'));
     return obj;
   }, {});
 };

diff --git a/test/utils.spec.js b/test/utils.spec.js
--- a/test/utils.spec.js
+++ b/test/utils.spec.js
@@ -95,6 +95,10 @@ describe('utils', function () {
         r3: '^co.*'
       });
     });
+
+    it('should parse "+" as a space', function () {
+      parseQuery('?grep=foo+bar').should.eql({grep: 'foo bar'});
+    });
   });
 
   describe('.stackTraceFilter()', function () {

3.x: url encoded grep not properly unescaped
HI,

Running `3.0.2`, in browser tests `grep` argument 
won t work properly with an url like `http://localhost:3000/test/?grep=CustomAjaxTable+should+update+header+class+on+sortable+header+click`
It will work if the spaces are not replaced by `+` sign,
`http://localhost:3000/test/?grep=CustomAjaxTable should update header class on sortable header click`

It s a bit of problem, my test need to manage url parameters, it uses the URL / URLSearchParams API (https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams), and it seems like to encode it in such way mocha won t follow up.

I gone through the changelog, look likes it was not fixed since the reported version.
3.x: url encoded grep not properly unescaped
HI,

Running `3.0.2`, in browser tests `grep` argument 
won t work properly with an url like `http://localhost:3000/test/?grep=CustomAjaxTable+should+update+header+class+on+sortable+header+click`
It will work if the spaces are not replaced by `+` sign,
`http://localhost:3000/test/?grep=CustomAjaxTable should update header class on sortable header click`

It s a bit of problem, my test need to manage url parameters, it uses the URL / URLSearchParams API (https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams), and it seems like to encode it in such way mocha won t follow up.

I gone through the changelog, look likes it was not fixed since the reported version.
