diff --git a/babylon-to-espree/toAST.js b/babylon-to-espree/toAST.js
index <HASH>..<HASH> 100644
--- a/babylon-to-espree/toAST.js
+++ b/babylon-to-espree/toAST.js
@@ -206,11 +206,6 @@ var astTransformVisitor = {
       }
     }
 
-    // remove class property keys (or patch in escope)
-    if (path.isClassProperty()) {
-      delete node.key;
-    }
-
     // async function as generator
     if (path.isFunction()) {
       if (node.async) node.generator = true;
diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -229,6 +229,13 @@ function monkeypatch() {
   // visit decorators that are in: ClassDeclaration / ClassExpression
   var visitClass = referencer.prototype.visitClass;
   referencer.prototype.visitClass = function(node) {
+    var classBody = node.body.body;
+    for (var a = 0; a < classBody.length; a++) {
+      if (classBody[a].type === "ClassProperty") {
+        createScopeVariable.call(this, classBody[a], classBody[a].key);
+      }
+    }
+
     visitDecorators.call(this, node);
     var typeParamScope;
     if (node.typeParameters) {
Create a variable for class properties in scope instead of deleting the key (#<I>)