diff --git a/CleanSpec.mk b/CleanSpec.mk
index 0568923..7677261 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -483,6 +483,11 @@
 # Remove stale init.noenforce.rc
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/gsi/init.noenforce.rc)
 
+# Clean up Launcher3 which has been replaced with Launcher3QuickStep
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/Launcher3)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/Launcher3)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Launcher3_intermediates)
+
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
 # ************************************************
diff --git a/target/product/core.mk b/target/product/core.mk
index acbc87f..c72bb2f 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -42,7 +42,7 @@
     KeyChain \
     Keyguard \
     LatinIME \
-    Launcher3 \
+    Launcher3QuickStep \
     ManagedProvisioning \
     MtpDocumentsProvider \
     PacProcessor \
diff --git a/target/product/sdk_base.mk b/target/product/sdk_base.mk
index c50d653..1e5ed19 100644
--- a/target/product/sdk_base.mk
+++ b/target/product/sdk_base.mk
@@ -23,7 +23,7 @@
 	Development \
 	Dialer \
 	Gallery2 \
-	Launcher3 \
+	Launcher3QuickStep \
 	Camera2 \
 	librs_jni \
 	LiveWallpapersPicker \
diff --git a/tools/fs_config/fs_config_generator.py b/tools/fs_config/fs_config_generator.py
index ed63c0e..4839578 100755
--- a/tools/fs_config/fs_config_generator.py
+++ b/tools/fs_config/fs_config_generator.py
@@ -1216,10 +1216,6 @@
 class PasswdGen(BaseGenerator):
     """Generates the /etc/passwd file per man (5) passwd."""
 
-    _GENERATED = ('#\n# THIS IS AN AUTOGENERATED FILE! DO NOT MODIFY!\n#')
-
-    _FILE_COMMENT = '# Defined in file: \"%s\"'
-
     def __init__(self):
 
         self._old_file = None
@@ -1254,8 +1250,6 @@
         if len(aids) == 0:
             return
 
-        print PasswdGen._GENERATED
-
         for aid in aids:
             if required_prefix is None or aid.friendly.startswith(required_prefix):
                 self._print_formatted_line(aid)
@@ -1280,7 +1274,6 @@
         """
         if self._old_file != aid.found:
             self._old_file = aid.found
-            print PasswdGen._FILE_COMMENT % aid.found
 
         try:
             logon, uid = Utils.get_login_and_uid_cleansed(aid)
@@ -1306,7 +1299,6 @@
         """
         if self._old_file != aid.found:
             self._old_file = aid.found
-            print PasswdGen._FILE_COMMENT % aid.found
 
         try:
             logon, uid = Utils.get_login_and_uid_cleansed(aid)
