Index: wp-includes/canonical.php
===================================================================
--- wp-includes/canonical.php	(revision 15483)
+++ wp-includes/canonical.php	(working copy)
@@ -180,7 +180,8 @@
 
 			}
 		} elseif ( is_single() && strpos($wp_rewrite->permalink_structure, '%category%') !== false ) {
-			$category = get_term_by('slug', get_query_var('category_name'), 'category');
+			$segment = explode( '/', get_query_var( 'category_name' ) ) ? end( explode( '/', get_query_var( 'category_name' ) ) ) : get_query_var( 'category_name' );
+			$category = get_term_by('slug', $segment, 'category');
 			$post_terms = wp_get_object_terms($wp_query->get_queried_object_id(), 'category', array('fields' => 'tt_ids'));
 			if ( (!$category || is_wp_error($category)) || ( !is_wp_error($post_terms) && !empty($post_terms) && !in_array($category->term_taxonomy_id, $post_terms) ) )
 				$redirect_url = get_permalink($wp_query->get_queried_object_id());
