Index: wp-admin/css/nav-menu.dev.css
===================================================================
--- wp-admin/css/nav-menu.dev.css	(Revision 18238)
+++ wp-admin/css/nav-menu.dev.css	(Arbeitskopie)
@@ -387,6 +387,16 @@
 	-khtml-border-radius: 3px;
 }
 
+#menu-to-edit .menu-item-invalid .menu-item-handle { 
+	background-color: #f6c9cc; /* Fallback */ 
+	background-image: -ms-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* IE10 */  
+	background-image: -moz-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* Firefox */  
+	background-image: -o-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* Opera */  
+	background-image: -webkit-gradient(linear, left bottom, left top, from(#f6c9cc), to(#fdf8ff)); /* old Webkit  */  
+	background-image: -webkit-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* new Webkit */  
+	background-image: linear-gradient(bottom, #f6c9cc, #fdf8ff); /* proposed W3C Markup */
+}
+
 .menu-item-edit-active .menu-item-handle {
 	-moz-border-radius: 3px 3px 0 0;
 	-webkit-border-bottom-right-radius: 0;
Index: wp-admin/includes/nav-menu.php
===================================================================
--- wp-admin/includes/nav-menu.php	(Revision 18238)
+++ wp-admin/includes/nav-menu.php	(Arbeitskopie)
@@ -65,6 +65,9 @@
 			'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'),
 		);
 
+		if ( isset( $item->_invalid ) ) 
+			$classes[] = 'menu-item-invalid';
+
 		$title = $item->title;
 
 		if ( isset( $item->post_status ) && 'draft' == $item->post_status ) {
Index: wp-includes/nav-menu.php
===================================================================
--- wp-includes/nav-menu.php	(Revision 18238)
+++ wp-includes/nav-menu.php	(Arbeitskopie)
@@ -443,6 +443,21 @@
 }
 
 /**
+ * Returns if a menu item is valid. Bug #13958
+ *
+ * @since 3.2.0
+ *
+ * @param object $menu_item The menu item to check
+ * @return bool false if invalid, else true.
+ */
+function _is_valid_nav_menu_item( $item ) {
+	if( ! empty( $item->_invalid ) &&  $item->_invalid == true )
+		return false;
+
+	return true;
+}
+
+/**
  * Returns all menu items of a navigation menu.
  *
  * @since 3.0.0
@@ -512,6 +527,9 @@
 	}
 
 	$items = array_map( 'wp_setup_nav_menu_item', $items );
+	
+	if ( ! in_array( $args['post_status'], array( 'draft', 'any' ) ) ) 
+		$items = array_filter( $items, '_is_valid_nav_menu_item' );
 
 	if ( ARRAY_A == $args['output'] ) {
 		$GLOBALS['_menu_item_sort_prop'] = $args['output_key'];
@@ -559,8 +577,14 @@
 			$menu_item->type = empty( $menu_item->type ) ? get_post_meta( $menu_item->ID, '_menu_item_type', true ) : $menu_item->type;
 
 			if ( 'post_type' == $menu_item->type ) {
-				$object = get_post_type_object( $menu_item->object );
-				$menu_item->type_label = $object->labels->singular_name;
+				if ( post_type_exists( $menu_item->object ) ) {
+					$menu_item->type_label = get_post_type_object( $menu_item->object )->labels->singular_name;
+				} else {
+					$menu_item->type_label = $menu_item->object;
+					$menu_item->post_status = 'draft';
+					$menu_item->_invalid = true;
+				}
+
 				$menu_item->url = get_permalink( $menu_item->object_id );
 
 				$original_object = get_post( $menu_item->object_id );
@@ -568,8 +592,14 @@
 				$menu_item->title = '' == $menu_item->post_title ? $original_title : $menu_item->post_title;
 
 			} elseif ( 'taxonomy' == $menu_item->type ) {
-				$object = get_taxonomy( $menu_item->object );
-				$menu_item->type_label = $object->labels->singular_name;
+				if ( taxonomy_exists( $menu_item->object ) ) {
+					$menu_item->type_label = get_taxonomy( $menu_item->object )->labels->singular_name;
+				} else {
+					$menu_item->type_label = $menu_item->object;
+					$menu_item->post_status = 'draft';
+					$menu_item->_invalid = true;
+				}
+
 				$term_url = get_term_link( (int) $menu_item->object_id, $menu_item->object );
 				$menu_item->url = !is_wp_error( $term_url ) ? $term_url : '';
 
