diff --git a/python/installer.go b/python/installer.go
index 515cc47..396f036 100644
--- a/python/installer.go
+++ b/python/installer.go
@@ -36,14 +36,12 @@
 	path android.InstallPath
 
 	androidMkSharedLibs []string
-	module              *Module
 }
 
-func NewPythonInstaller(dir, dir64 string, module *Module) *pythonInstaller {
+func NewPythonInstaller(dir, dir64 string) *pythonInstaller {
 	return &pythonInstaller{
-		dir:    dir,
-		dir64:  dir64,
-		module: module,
+		dir:   dir,
+		dir64: dir64,
 	}
 }
 
@@ -61,14 +59,7 @@
 }
 
 func (installer *pythonInstaller) install(ctx android.ModuleContext, file android.Path) {
-	if ctx.ModuleType() == "python_binary_host" && installer.module.MixedBuildsEnabled(ctx) {
-		label := installer.module.BazelModuleBase.GetBazelLabel(ctx, installer.module)
-		binary, _ := ctx.Config().BazelContext.GetPythonBinary(label, android.GetConfigKey(ctx))
-		bazelBinaryOutPath := android.PathForBazelOut(ctx, binary)
-		installer.path = ctx.InstallFile(installer.installDir(ctx), bazelBinaryOutPath.Base(), bazelBinaryOutPath)
-	} else {
-		installer.path = ctx.InstallFile(installer.installDir(ctx), file.Base(), file)
-	}
+	installer.path = ctx.InstallFile(installer.installDir(ctx), file.Base(), file)
 }
 
 func (installer *pythonInstaller) setAndroidMkSharedLibs(sharedLibs []string) {
