diff --git a/index.js b/index.js
index afa73eb078e35af27adee52a6784f405d94a7de8..21e941140ef8ed04e5e8a21e555fb2c7bf478658 100644
--- a/index.js
+++ b/index.js
@@ -8,7 +8,7 @@ module.exports = {
 
   setupPreprocessorRegistry(type, registry) {
     if (type === 'parent') {
-      const options = getOptions(findHost(this));
+      const options = getOptions(this.parent); // findHost doesn't work for us - not sure why
       registry.add('htmlbars-ast-plugin', this._buildPlugin(options));
     }
   },
@@ -17,15 +17,20 @@ module.exports = {
     ThisFallbackPlugin.baseDir = () => __dirname;
     ThisFallbackPlugin.cacheKey = () => 'ember-this-fallback';
 
-    return {
+    let plugin = {
       name: 'ember-this-fallback',
-      parallelBabel: {
+      plugin: ThisFallbackPlugin(options),
+    };
+
+    if (!options.isTheme) {
+      plugin.parallelBabel = {
         requireFile: __filename,
         buildUsing: '_buildPlugin',
         params: options,
-      },
-      plugin: ThisFallbackPlugin(options),
-    };
+      };
+    }
+
+    return plugin;
   },
 };
 
diff --git a/lib/helpers/deprecations.js b/lib/helpers/deprecations.js
index 5a00c44dc77ee3a4083e51f13e5d28dc07c343f9..7fc09ada1d6eb8376519cbc88cfc838dab64b4b0 100644
--- a/lib/helpers/deprecations.js
+++ b/lib/helpers/deprecations.js
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
 exports.deprecationOptionsFor = void 0;
 const assert_1 = __importDefault(require("../types/assert"));
 const CURRENT_DEPRECATIONS = [
+    [
+    'this-property-fallback',
     {
-        id: 'this-property-fallback',
+        id: 'ember-this-fallback.this-property-fallback', // Updating deprecation id so we can distinguish it from Ember's
         until: 'n/a',
         for: 'ember-this-fallback',
         url: 'https://deprecations.emberjs.com/v3.x#toc_this-property-fallback',
@@ -15,8 +17,9 @@ const CURRENT_DEPRECATIONS = [
             available: '0.2.0',
         },
     },
+    ]
 ];
-const DEPRECATION_OPTIONS_MAP = new Map(CURRENT_DEPRECATIONS.map((options) => [options.id, options]));
+const DEPRECATION_OPTIONS_MAP = new Map(CURRENT_DEPRECATIONS);
 function deprecationOptionsFor(id) {
     const options = DEPRECATION_OPTIONS_MAP.get(id);
     (0, assert_1.default)(`expected to find DeprecationOptions for id=${id}`, options);
diff --git a/lib/helpers/logger.js b/lib/helpers/logger.js
index b856edc0327902bbae4eb9875ed9034a50d2b3a2..afb059ac4925711ba1b70079f4f45c4c4f8fe027 100644
--- a/lib/helpers/logger.js
+++ b/lib/helpers/logger.js
@@ -1,12 +1,6 @@
 "use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.noopLogger = void 0;
-const debug_1 = __importDefault(require("debug"));
-const winston_1 = require("winston");
-const winston_transport_1 = __importDefault(require("winston-transport"));
 function noopLogger() {
     return {
         debug: noop,
@@ -15,53 +9,4 @@ function noopLogger() {
     };
 }
 exports.noopLogger = noopLogger;
-function createLogger(namespace, label) {
-    const debug = (0, debug_1.default)(namespace);
-    class DebugTransport extends winston_transport_1.default {
-        log(info, next) {
-            debug(info[Symbol.for('message')]);
-            next();
-        }
-    }
-    return (0, winston_1.createLogger)({
-        level: 'debug',
-        transports: [
-            new winston_1.transports.File({
-                level: 'info',
-                filename: `${namespace}.log`,
-                format: winston_1.format.combine(joinLines(), winston_1.format.label({ label }), winston_1.format.timestamp(), winston_1.format.splat(), logFormatter),
-            }),
-            new DebugTransport({
-                level: 'debug',
-                format: winston_1.format.combine(joinLines(), winston_1.format.label({ label }), winston_1.format.timestamp(), winston_1.format.splat(), debugFormatter),
-            }),
-        ],
-    });
-}
-exports.default = createLogger;
-const joinLines = (0, winston_1.format)((info) => {
-    if (Array.isArray(info.message) &&
-        info.message.every((m) => typeof m === 'string')) {
-        info.message = joinLogLines(info.message);
-    }
-    return info;
-});
-const logFormatter = winston_1.format.printf((info) => {
-    const { level, label, timestamp, message, loc } = info;
-    return `${timestamp} [${level}] ${concatMessage(label, message, loc)}`;
-});
-const debugFormatter = winston_1.format.printf((info) => {
-    const { label, message } = info;
-    return concatMessage(label, message);
-});
-function concatMessage(label, message, loc) {
-    if (loc) {
-        const start = loc.startPosition;
-        label += `:${start.line}:${start.column + 1}`;
-    }
-    return joinLogLines([label, message]);
-}
-function joinLogLines(lines) {
-    return lines.join('\n\t');
-}
 function noop() { }
diff --git a/lib/this-fallback-plugin.js b/lib/this-fallback-plugin.js
index be4a78543644b3810520773aa7b996a2f631888d..9b144de8f22935dd6440a0db6b52a52535064212 100644
--- a/lib/this-fallback-plugin.js
+++ b/lib/this-fallback-plugin.js
@@ -29,7 +29,7 @@ const syntax_1 = require("@glimmer/syntax");
 const ast_1 = require("./helpers/ast");
 const deprecations_1 = require("./helpers/deprecations");
 const fallback_1 = require("./helpers/fallback");
-const logger_1 = __importStar(require("./helpers/logger"));
+const logger_1 = require("./helpers/logger");
 const scope_stack_1 = __importStar(require("./helpers/scope-stack"));
 const string_1 = require("./helpers/string");
 const assert_1 = __importDefault(require("./types/assert"));
@@ -60,9 +60,15 @@ class ThisFallbackPlugin {
     handleBlock() {
         return {
             enter: (node) => {
+                if (this.env.strictMode) {
+                  return;
+                }
                 this.scopeStack.push(node.blockParams);
             },
             exit: () => {
+                if (this.env.strictMode) {
+                  return;
+                }
                 this.scopeStack.pop();
             },
         };
@@ -70,6 +76,9 @@ class ThisFallbackPlugin {
     handleAttrNodes() {
         return {
             enter: (elementNode, elementPath) => {
+                if (this.env.strictMode) {
+                  return;
+                }
                 const ambiguousHeads = new Map();
                 const blockParamName = (0, scope_stack_1.unusedNameLike)('maybeHelpers', this.scopeStack);
                 for (const attrNode of elementNode.attributes) {
@@ -119,6 +128,9 @@ class ThisFallbackPlugin {
         return {
             keys: {
                 params: (node) => {
+                    if (this.env.strictMode) {
+                      return;
+                    }
                     const { scopeStack } = this;
                     node.params = node.params.map((expr) => {
                         if ((0, fallback_1.needsFallback)(expr, scopeStack)) {
@@ -131,6 +143,9 @@ class ThisFallbackPlugin {
                     });
                 },
                 hash: (node) => {
+                    if (this.env.strictMode) {
+                      return;
+                    }
                     const { scopeStack } = this;
                     node.hash.pairs = node.hash.pairs.map((pair) => {
                         const { key, value: expr, loc } = pair;
@@ -149,6 +164,9 @@ class ThisFallbackPlugin {
     handleMustache() {
         return {
             enter: (node, path) => {
+                if (this.env.strictMode) {
+                  return;
+                }
                 // Alias node to n so that the type of `node` doesn't get narrowed,
                 // which prevents mutation
                 const n = node;
@@ -174,9 +192,15 @@ class ThisFallbackPlugin {
     handleTemplate() {
         return {
             enter: (node) => {
+                if (this.env.strictMode) {
+                  return;
+                }
                 this.logger.debug("before: '%s'", (0, string_1.squish)((0, syntax_1.print)(node)));
             },
             exit: (node, path) => {
+                if (this.env.strictMode) {
+                  return;
+                }
                 this.logger.debug("after_: '%s'", (0, string_1.squish)((0, syntax_1.print)(node)));
                 if (this.scopeStack.size !== 1) {
                     throw new Error(`unbalanced ScopeStack push and pop, ScopeStack size is ${this.scopeStack.size}`);
@@ -214,9 +238,7 @@ class NoopPlugin {
 function buildThisFallbackPlugin({ enableLogging, }) {
     return (env) => {
         const name = 'ember-this-fallback';
-        const logger = enableLogging
-            ? (0, logger_1.default)(`${name}-plugin`, env.moduleName)
-            : (0, logger_1.noopLogger)();
+        const logger = (0, logger_1.noopLogger)();
         // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
         if (env.meta.jsutils) {
             return new ThisFallbackPlugin(name, env, logger);
diff --git a/package.json b/package.json
index ef220e46d232cc90d6b90607e4e99f32d5679cf4..8c140dabda2cb2ef25b22a86bffb640df9124ec8 100644
--- a/package.json
+++ b/package.json
@@ -108,7 +108,7 @@
   },
   "peerDependencies": {
     "ember-cli-htmlbars": "^6.2.0",
-    "ember-source": "^3.28.11 || ^4.0.0"
+    "ember-source": "^3.28.11 || ^4.0.0 || ^5.0.0"
   },
   "engines": {
     "node": "16.* || >= 18"
