diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -1,18 +1,19 @@
 'use strict';
 
+var fnToStr = Function.prototype.toString;
+
 var constructorRegex = /\s*class /;
-var isNonES6ClassFn = function isNonES6ClassFn(value) {
+var isES6ClassFn = function isES6ClassFn(value) {
 	try {
-		return !constructorRegex.test(value);
+		return constructorRegex.test(fnToStr.call(value));
 	} catch (e) {
 		return false; // not a function
 	}
 };
 
-var fnToStr = Function.prototype.toString;
 var tryFunctionObject = function tryFunctionObject(value) {
 	try {
-		if (constructorRegex.test(value)) { return false; }
+		if (isES6ClassFn(value)) { return false; }
 		fnToStr.call(value);
 		return true;
 	} catch (e) {
@@ -28,7 +29,7 @@ module.exports = function isCallable(value) {
 	if (!value) { return false; }
 	if (typeof value !== 'function' && typeof value !== 'object') { return false; }
 	if (hasToStringTag) { return tryFunctionObject(value); }
-	if (!isNonES6ClassFn(value)) { return false; }
+	if (isES6ClassFn(value)) { return false; }
 	var strClass = toStr.call(value);
 	return strClass === fnClass || strClass === genClass;
 };
[Refactor] convert `isNonES6ClassFn` into `isES6ClassFn`