Index: wp-admin/includes/nav-menu.php
===================================================================
--- wp-admin/includes/nav-menu.php	(revision 23297)
+++ wp-admin/includes/nav-menu.php	(working copy)
@@ -73,10 +73,17 @@
 			$classes[] = 'menu-item-invalid';
 			/* translators: %s: title of menu item which is invalid */
 			$title = sprintf( __( '%s (Invalid)' ), $item->title );
-		} elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) {
-			$classes[] = 'pending';
-			/* translators: %s: title of menu item in draft status */
-			$title = sprintf( __('%s (Pending)'), $item->title );
+		} elseif ( isset( $item->post_status ) ) {
+			if ( 'draft' == $item->post_status ) {
+				$original_status = get_post_status_object( $original_object->post_status );
+				$classes[] = "draft post-status-$original_object->post_status";
+				/* translators: 1: title of menu item in draft status, 2: actual post status. */
+				$title = sprintf( __('%1$s (%2$s)'), $item->title, $original_status->label );
+			} elseif ( 'pending' == $item->post_status ) {
+				$classes[] = 'unsaved';
+				/* translators: %s: title of menu item in unsaved status */
+				$title = sprintf( __('%s (Unsaved)'), $item->title );
+			}
 		}
 
 		$title = empty( $item->label ) ? $title : $item->label;
@@ -170,9 +177,34 @@
 				</p>
 
 				<div class="menu-item-actions description-wide submitbox">
-					<?php if( 'custom' != $item->type && $original_title !== false ) : ?>
+					<?php if ( 'custom' != $item->type && $original_title !== false ) : ?>
 						<p class="link-to-original">
-							<?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?>
+							<?php
+							if ( 'post_type' === $item->type ) {
+								$post_status = get_post_status( $item->object_id );
+
+								if ( 'publish' == $post_status ) {
+									printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>', '' );
+								} else {
+									$original_url = $item->url;
+									if( 'trash' == $post_status ) {
+										$original_url = add_query_arg(
+											array(
+												'post_status' => 'trash',
+												'post_type' => $item->object,
+											),
+											admin_url( 'edit.php' )
+										);
+									}
+									$post_status_obj = get_post_status_object( $post_status );
+									/* translators: 1: title, 2: post status. */
+									printf( __('Original: %1$s (%2$s)'), '<a href="' . esc_attr( $original_url ) . '">' . esc_html( $original_title ) . '</a>',
+									$post_status_obj->label );
+								}
+							} else {
+								printf( __( 'Original: %s' ), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' );
+							}
+							?>
 						</p>
 					<?php endif; ?>
 					<a class="item-delete submitdelete deletion" id="delete-<?php echo $item_id; ?>" href="<?php
@@ -1108,7 +1140,7 @@
 		}
 
 		if ( $some_pending_menu_items )
-			$result .= '<div class="updated inline"><p>' . __('Click Save Menu to make pending menu items public.') . '</p></div>';
+			$result .= '<div class="updated inline"><p>' . __('Click Save Menu to make unsaved menu items public.') . '</p></div>';
 
 		if ( $some_invalid_menu_items )
 			$result .= '<div class="error inline"><p>' . __('There are some invalid menu items. Please check or delete them.') . '</p></div>';
