diff --git wp-includes/nav-menu-template.php wp-includes/nav-menu-template.php
index bd04542..2fd0967 100644
--- wp-includes/nav-menu-template.php
+++ wp-includes/nav-menu-template.php
@@ -144,6 +144,14 @@ function wp_nav_menu( $args = array() ) {
 	$args = apply_filters( 'wp_nav_menu_args', $args );
 	$args = (object) $args;
 
+	// Allow plugins to short-circuit menu output
+	$nav_menu = apply_filters( 'pre_wp_nav_menu', '', $args );
+
+	if ( ! empty( $nav_menu ) && $args->echo )
+		echo $nav_menu;
+	elseif ( ! empty( $nav_menu ) )
+		return $nav_menu;
+
 	// Get the nav menu based on the requested menu
 	$menu = wp_get_nav_menu_object( $args->menu );
 
