diff --git a/python/binary.go b/python/binary.go
index 4135dfe..bf9acb4 100644
--- a/python/binary.go
+++ b/python/binary.go
@@ -84,15 +84,15 @@
 
 	main := binary.getPyMainFile(ctx, srcsPathMappings)
 
-	var launcherPath android.Path
+	var launcherPath android.OptionalPath
 	if embeddedLauncher {
 		ctx.VisitDirectDepsWithTag(launcherTag, func(m android.Module) {
 			if provider, ok := m.(IntermPathProvider); ok {
-				if launcherPath != nil {
+				if launcherPath.Valid() {
 					panic(fmt.Errorf("launcher path was found before: %q",
 						launcherPath))
 				}
-				launcherPath = provider.IntermPathForModuleOut().Path()
+				launcherPath = provider.IntermPathForModuleOut()
 			}
 		})
 	}
diff --git a/python/builder.go b/python/builder.go
index ec4cb4e..11a792a 100644
--- a/python/builder.go
+++ b/python/builder.go
@@ -70,7 +70,7 @@
 }
 
 func registerBuildActionForParFile(ctx android.ModuleContext, embeddedLauncher bool,
-	launcherPath android.Path, interpreter, main, binName string,
+	launcherPath android.OptionalPath, interpreter, main, binName string,
 	srcsZips android.Paths) android.Path {
 
 	// .intermediate output path for merged zip file.
@@ -104,9 +104,9 @@
 				"srcsZips":  strings.Join(srcsZips.Strings(), " "),
 			},
 		})
-	} else {
+	} else if launcherPath.Valid() {
 		// added launcherPath to the implicits Ninja dependencies.
-		implicits = append(implicits, launcherPath)
+		implicits = append(implicits, launcherPath.Path())
 
 		// .intermediate output path for entry_point.txt
 		entryPoint := android.PathForModuleOut(ctx, entryPointFile).String()
