diff --git a/wp-includes/nav-menu-template.php b/wp-includes/nav-menu-template.php
index 45d9e47de4..37a2b09e84 100644
--- a/wp-includes/nav-menu-template.php
+++ b/wp-includes/nav-menu-template.php
@@ -536,8 +536,9 @@ function _wp_menu_item_classes_by_context( &$menu_items ) {
 			$classes[] = empty( $queried_object->taxonomy ) ? 'current-' . $queried_object->post_type . '-ancestor' : 'current-' . $queried_object->taxonomy . '-ancestor';
 		}
 
-		if ( in_array( intval( $parent_item->db_id ), $active_ancestor_item_ids ) ) {
-			$classes[]                                 = 'current-menu-ancestor';
+		if ( in_array( (int) $parent_item->db_id, $active_ancestor_item_ids ) ) {
+			$classes[] = 'current-menu-ancestor';
+			$classes[] = 'current-' . $parent_item->object . '-ancestor';
 			$menu_items[ $key ]->current_item_ancestor = true;
 		}
 		if ( in_array( $parent_item->db_id, $active_parent_item_ids ) ) {
@@ -548,14 +549,9 @@ function _wp_menu_item_classes_by_context( &$menu_items ) {
 			$classes[] = 'current-' . $active_object . '-parent';
 		}
 
-		if ( 'post_type' == $parent_item->type && 'page' == $parent_item->object ) {
-			// Back compat classes for pages to match wp_page_menu()
-			if ( in_array( 'current-menu-parent', $classes ) ) {
-				$classes[] = 'current_page_parent';
-			}
-			if ( in_array( 'current-menu-ancestor', $classes ) ) {
-				$classes[] = 'current_page_ancestor';
-			}
+		// Back compat classes for pages to match wp_page_menu()
+		if ( 'post_type' === $parent_item->type && 'page' === $parent_item->object && in_array( 'current-menu-parent', $classes ) ) {
+			$classes[] = 'current_page_parent';
 		}
 
 		$menu_items[ $key ]->classes = array_unique( $classes );
