diff --git a/ansible_mitogen/mixins.py b/ansible_mitogen/mixins.py
index <HASH>..<HASH> 100644
--- a/ansible_mitogen/mixins.py
+++ b/ansible_mitogen/mixins.py
@@ -54,6 +54,7 @@ import ansible_mitogen.connection
 import ansible_mitogen.planner
 import ansible_mitogen.target
 from ansible.module_utils._text import to_text
+from ansible.vars.clean import remove_internal_keys
 
 try:
     from ansible.utils.unsafe_proxy import wrap_var
@@ -374,6 +375,9 @@ class ActionModuleMixin(ansible.plugins.action.ActionBase):
             # on _execute_module().
             self._remove_tmp_path(tmp)
 
+        # prevents things like discovered_interpreter_* or ansible_discovered_interpreter_* from being set
+        remove_internal_keys(result)
+
         # taken from _execute_module of ansible 2.8.6
         # propagate interpreter discovery results back to the controller
         if self._discovered_interpreter_key:
all test cases for ansible_python_interpreter on OSX pass now