diff --git a/crates/oxc_transformer/src/es2022/class_properties/class.rs b/crates/oxc_transformer/src/es2022/class_properties/class.rs
index 4ffb3146e20af..56548f991d470 100644
--- a/crates/oxc_transformer/src/es2022/class_properties/class.rs
+++ b/crates/oxc_transformer/src/es2022/class_properties/class.rs
@@ -617,6 +617,21 @@ impl<'a, 'ctx> ClassProperties<'a, 'ctx> {
             }
         }
 
+        // Insert private methods
+        if !self.insert_after_stmts.is_empty() {
+            // Find address of statement of class expression
+            let position = ctx
+                .ancestors()
+                .position(Ancestor::is_parent_of_statement)
+                .expect("Expression always inside a statement.");
+            // Position points to parent of statement, we need to find the statement itself,
+            // so `position - 1`.
+            let stmt_ancestor = ctx.ancestor(position - 1);
+            self.ctx
+                .statement_injector
+                .insert_many_after(&stmt_ancestor, self.insert_after_stmts.drain(..));
+        }
+
         // Insert computed key initializers
         exprs.extend(self.insert_before.drain(..));
 
diff --git a/tasks/transform_conformance/snapshots/babel.snap.md b/tasks/transform_conformance/snapshots/babel.snap.md
index 53dea0aad032c..7b71201c4d214 100644
--- a/tasks/transform_conformance/snapshots/babel.snap.md
+++ b/tasks/transform_conformance/snapshots/babel.snap.md
@@ -1,6 +1,6 @@
 commit: 54a8389f
 
-Passed: 631/1095
+Passed: 632/1095
 
 # All Passed:
 * babel-plugin-transform-logical-assignment-operators
@@ -462,7 +462,7 @@ x Output mismatch
 x Output mismatch
 
 
-# babel-plugin-transform-private-methods (16/148)
+# babel-plugin-transform-private-methods (17/148)
 * accessors/arguments/input.js
 x Output mismatch
 
@@ -565,9 +565,6 @@ x Output mismatch
 * misc/multiple/input.js
 x Output mismatch
 
-* private-method/class-expression/input.js
-x Output mismatch
-
 * private-method/destructuring/input.js
 x Output mismatch
 
diff --git a/tasks/transform_conformance/snapshots/babel_exec.snap.md b/tasks/transform_conformance/snapshots/babel_exec.snap.md
index e5737b715b30e..ff327f7c0ea49 100644
--- a/tasks/transform_conformance/snapshots/babel_exec.snap.md
+++ b/tasks/transform_conformance/snapshots/babel_exec.snap.md
@@ -53,9 +53,10 @@ TypeError: Cannot read properties of undefined (reading 'bind')
     at ./tasks/transform_conformance/fixtures/babel/babel-plugin-transform-class-properties-test-fixtures-private-loose-parenthesized-optional-member-call-with-transform-exec.test.js:78:12
 
 ./fixtures/babel/babel-plugin-transform-class-properties-test-fixtures-private-static-self-method-exec.test.js
-ReferenceError: _bar is not defined
-    at Function.extract (./tasks/transform_conformance/fixtures/babel/babel-plugin-transform-class-properties-test-fixtures-private-static-self-method-exec.test.js:13:46)
-    at ./tasks/transform_conformance/fixtures/babel/babel-plugin-transform-class-properties-test-fixtures-private-static-self-method-exec.test.js:19:45
+TypeError: Private element is not present on this object
+    at _assertClassBrand (./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/assertClassBrand.js:3:9)
+    at Function.extract (./tasks/transform_conformance/fixtures/babel/babel-plugin-transform-class-properties-test-fixtures-private-static-self-method-exec.test.js:13:10)
+    at ./tasks/transform_conformance/fixtures/babel/babel-plugin-transform-class-properties-test-fixtures-private-static-self-method-exec.test.js:34:45
 
 ./fixtures/babel/babel-plugin-transform-class-properties-test-fixtures-private-static-shadow-exec.test.js
 TypeError: e.has is not a function
diff --git a/tasks/transform_conformance/snapshots/oxc_exec.snap.md b/tasks/transform_conformance/snapshots/oxc_exec.snap.md
index b718318e5fdbb..5eec083815262 100644
--- a/tasks/transform_conformance/snapshots/oxc_exec.snap.md
+++ b/tasks/transform_conformance/snapshots/oxc_exec.snap.md
@@ -11,7 +11,7 @@ AssertionError: expected [Function] to throw error including 'Receiver must be a
     at Proxy.<anonymous> (./node_modules/.pnpm/@vitest+expect@2.1.2/node_modules/@vitest/expect/dist/index.js:1438:21)
     at Proxy.<anonymous> (./node_modules/.pnpm/@vitest+expect@2.1.2/node_modules/@vitest/expect/dist/index.js:923:17)
     at Proxy.methodWrapper (./node_modules/.pnpm/chai@5.1.2/node_modules/chai/chai.js:1610:25)
-    at ./tasks/transform_conformance/fixtures/oxc/babel-plugin-transform-class-properties-test-fixtures-private-field-resolve-to-method-in-computed-key-exec.test.js:87:33
+    at ./tasks/transform_conformance/fixtures/oxc/babel-plugin-transform-class-properties-test-fixtures-private-field-resolve-to-method-in-computed-key-exec.test.js:96:33
 
 ./fixtures/oxc/babel-plugin-transform-class-properties-test-fixtures-static-super-tagged-template-exec.test.js
 AssertionError: expected undefined to be [Function C] // Object.is equality