diff --git a/lib/makePromise.js b/lib/makePromise.js
index <HASH>..<HASH> 100644
--- a/lib/makePromise.js
+++ b/lib/makePromise.js
@@ -111,8 +111,12 @@ function extractPromisesFromObject(obj) {
     };
 });
 
-['resolve', 'reject'].forEach(function (staticMethodName) {
-    makePromise[staticMethodName] = Promise[staticMethodName];
+// Expose all of Bluebird's static methods, except the ones related to long stack traces,
+// unhandled rejections and the scheduler, which we need to manage ourselves:
+Object.keys(Promise).forEach(function (staticMethodName) {
+    if (!/^_|^on|^setScheduler|ongStackTraces/.test(staticMethodName) && typeof makePromise[staticMethodName] === 'undefined') {
+        makePromise[staticMethodName] = Promise[staticMethodName];
+    }
 });
 
 module.exports = makePromise;
Expose (almost) all of Bluebird's static methods.