Index: wp-app.php
===================================================================
--- wp-app.php	(revision 20062)
+++ wp-app.php	(working copy)
@@ -26,6 +26,15 @@
 
 $_SERVER['PATH_INFO'] = preg_replace( '/.*\/wp-app\.php/', '', $_SERVER['REQUEST_URI'] );
 
+// Allow for a plugin to insert a different class to handle requests.
+$wp_atom_server_class = apply_filters('wp_atom_server_class', 'wp_atom_server');
+$wp_atom_server = new $wp_atom_server_class;
+
+// Handle the request
+$wp_atom_server->handle_request();
+
+exit;
+
 /**
  * Writes logging info to a file.
  *
@@ -42,10 +51,3 @@
 	if ( ! empty( $GLOBALS['app_logging'] ) )
 			error_log( $label . ' - ' . $message );
 }
-
-// Allow for a plugin to insert a different class to handle requests.
-$wp_atom_server_class = apply_filters('wp_atom_server_class', 'wp_atom_server');
-$wp_atom_server = new $wp_atom_server_class;
-
-// Handle the request
-$wp_atom_server->handle_request();
Index: wp-includes/class-wp-atom-server.php
===================================================================
--- wp-includes/class-wp-atom-server.php	(revision 20062)
+++ wp-includes/class-wp-atom-server.php	(working copy)
@@ -175,30 +175,9 @@
 						'PUT' => 'put_attachment',
 						'DELETE' => 'delete_attachment'),
 		);
-
-		add_filter( 'wp_die_handler', array( $this, 'return_atom_die_handler' ) );
 	}
 
 	/**
-	 * Override die handler
-	 * @return callback
-	 */
-	public function return_atom_die_handler() {
-		return array( $this, 'atom_die_handler' );
-	}
-
-	/**
-	 * Die with a message.  Only accept strings, no WP_Error objects yet
-	 * @param string $message
-	 * @return void
-	 */
-	public function atom_die_handler( $message ) {
-		if ( is_scalar( $message ) )
-			die( (string) $message );
-		die();
-	}
-
-	/**
 	 * Handle ATOMPUB request.
 	 *
 	 * @since 2.2.0
Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 20062)
+++ wp-includes/functions.php	(working copy)
@@ -1976,6 +1976,8 @@
 		$function = apply_filters( 'wp_die_ajax_handler', '_ajax_wp_die_handler' );
 	elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST )
 		$function = apply_filters( 'wp_die_xmlrpc_handler', '_xmlrpc_wp_die_handler' );
+	elseif ( defined( 'APP_REQUEST' ) && APP_REQUEST )
+		$function = apply_filters( 'wp_die_app_bandler', '_scalar_wp_die_handler' );
 	else
 		$function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
 
@@ -2182,6 +2184,22 @@
 }
 
 /**
+ * Kill WordPress execution.
+ *
+ * This is the handler for wp_die when processing APP requests.
+ *
+ * @since 3.4.0
+ * @access private
+ *
+ * @param string $message Optional. Response to print.
+ */
+function _scalar_wp_die_handler( $message = '' ) {
+	if ( is_scalar( $message ) )
+		die( (string) $message );
+	die();
+}
+
+/**
  * Retrieve the WordPress home page URL.
  *
  * If the constant named 'WP_HOME' exists, then it will be used and returned by
