diff --git src/wp-admin/admin.php src/wp-admin/admin.php
index 2dd315d..d456bac 100644
--- src/wp-admin/admin.php
+++ src/wp-admin/admin.php
@@ -83,10 +83,6 @@ require_once(ABSPATH . 'wp-admin/includes/admin.php');
 
 auth_redirect();
 
-// Schedule trash collection
-if ( ! wp_next_scheduled( 'wp_scheduled_delete' ) && ! wp_installing() )
-	wp_schedule_event(time(), 'daily', 'wp_scheduled_delete');
-
 set_screen_options();
 
 $date_format = __( 'F j, Y' );
diff --git src/wp-admin/post-new.php src/wp-admin/post-new.php
index ac80f13..01025ab 100644
--- src/wp-admin/post-new.php
+++ src/wp-admin/post-new.php
@@ -62,10 +62,6 @@ if ( ! current_user_can( $post_type_object->cap->edit_posts ) || ! current_user_
 	);
 }
 
-// Schedule auto-draft cleanup
-if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) )
-	wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' );
-
 wp_enqueue_script( 'autosave' );
 
 if ( is_multisite() ) {
diff --git src/wp-includes/default-filters.php src/wp-includes/default-filters.php
index 5a73975..3a7a2a9 100644
--- src/wp-includes/default-filters.php
+++ src/wp-includes/default-filters.php
@@ -285,6 +285,7 @@ add_action( 'rss2_head', 'rss2_site_icon' );
 // WP Cron
 if ( !defined( 'DOING_CRON' ) )
 	add_action( 'init', 'wp_cron' );
+add_action( 'init', 'wp_schedule_garbage_collection' );
 
 // 2 Actions 2 Furious
 add_action( 'do_feed_rdf',                'do_feed_rdf',                             10, 1 );
diff --git src/wp-includes/functions.php src/wp-includes/functions.php
index 8593e8c..ad7f302 100644
--- src/wp-includes/functions.php
+++ src/wp-includes/functions.php
@@ -4663,6 +4663,29 @@ function _cleanup_header_comment( $str ) {
 }
 
 /**
+ * Schedule events for garbage collection.
+ *
+ * Ensure that trashed posts and auto-drafts get garbage-collected by WP Cron.
+ *
+ * @since 4.7.0
+ */
+function wp_schedule_garbage_collection() {
+	if ( wp_installing() ) {
+		return;
+	}
+
+	// Ensure that auto-draft posts will get garbage-collected.
+	if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) ) {
+		wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' );
+	}
+
+	// Schedule trash collection.
+	if ( ! wp_next_scheduled( 'wp_scheduled_delete' ) ) {
+		wp_schedule_event( time(), 'daily', 'wp_scheduled_delete' );
+	}
+}
+
+/**
  * Permanently delete comments or posts of any type that have held a status
  * of 'trash' for the number of days defined in EMPTY_TRASH_DAYS.
  *
