Index: wp-includes/nav-menu.php
===================================================================
--- wp-includes/nav-menu.php	(revision 17660)
+++ wp-includes/nav-menu.php	(working copy)
@@ -559,8 +559,13 @@
 			$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->_invalid = true;
+				}
+
 				$menu_item->url = get_permalink( $menu_item->object_id );
 
 				$original_object = get_post( $menu_item->object_id );
@@ -568,8 +573,13 @@
 				$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->_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 : '';
 
Index: wp-admin/includes/nav-menu.php
===================================================================
--- wp-admin/includes/nav-menu.php	(revision 17660)
+++ wp-admin/includes/nav-menu.php	(working copy)
@@ -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-admin/css/nav-menu.dev.css
===================================================================
--- wp-admin/css/nav-menu.dev.css	(revision 17660)
+++ wp-admin/css/nav-menu.dev.css	(working copy)
@@ -313,6 +313,9 @@
 	-khtml-border-radius: 6px;
 	word-wrap: break-word;
 }
+.menu-item-invalid .menu-item-handle {
+	background: pink;
+}
 .menu-item-edit-active .menu-item-handle {
 	-moz-border-radius: 6px 6px 0 0;
 	-webkit-border-bottom-right-radius: 0;
