diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php
index 6fd145d6b8..3917275b5d 100644
--- a/src/wp-includes/functions.php
+++ b/src/wp-includes/functions.php
@@ -3796,13 +3796,17 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
 </head>
 <body id="error-page">
 <?php endif; // ! did_action( 'admin_head' ) ?>
+
 	<?php 
 		if( is_array( $message ) ) {
+			echo '<pre>';
 			print_r( $message );
+			echo '</pre>';
 		} else {
 			echo $message;
 		}
 	?>
+
 </body>
 </html>
 	<?php
@@ -3850,7 +3854,11 @@ function _ajax_wp_die_handler( $message, $title = '', $args = array() ) {
 		die( $message );
 	}
 
-	echo $message;
+	if( is_array( $message ) ) {
+		print_r( $message );
+	} else {
+		echo $message;
+	}
 }
 
 /**
@@ -3956,6 +3964,10 @@ function _xmlrpc_wp_die_handler( $message, $title = '', $args = array() ) {
 		nocache_headers();
 	}
 
+	if( is_array( $message ) ) {
+		$message = wp_json_encode( $message );
+	}
+
 	if ( $wp_xmlrpc_server ) {
 		$error = new IXR_Error( $parsed_args['response'], $message );
 		$wp_xmlrpc_server->output( $error->getXml() );
@@ -3980,6 +3992,10 @@ function _xmlrpc_wp_die_handler( $message, $title = '', $args = array() ) {
 function _xml_wp_die_handler( $message, $title = '', $args = array() ) {
 	list( $message, $title, $parsed_args ) = _wp_die_process_input( $message, $title, $args );
 
+	if( is_array( $message ) ) {
+		$message = wp_json_encode( $message );
+	}
+
 	$message = htmlspecialchars( $message );
 	$title   = htmlspecialchars( $title );
 
