Category with the same slug

i’ve found this code, i think it is a good idea:

add_filter( 'post_link', 'remove_parent_cats_from_link', 10, 3 );
function remove_parent_cats_from_link( $permalink, $post, $leavename )
{
$cats = get_the_category( $post->ID );
if ( $cats ) {
// Make sure we use the same start cat as the permalink generator
usort( $cats, '_usort_terms_by_ID' ); // order by ID
$category = $cats[0]->slug;
if ( $parent = $cats[0]->parent ) {
// If there are parent categories, collect them and replace them in the link
$parentcats = get_category_parents( $parent, false, "https://wordpress.stackexchange.com/", true );
// str_replace() is not the best solution if you can have duplicates:
// myexamplesite.com/luxemburg/luxemburg/ will be stripped down to myexamplesite.com/
// But if you don't expect that, it should work
$permalink = str_replace( $parentcats, '', $permalink );
}
}
return $permalink;
}

but I have a trouble. It is not working with this structure:

www.domain.com/taco/promotions-taco/2014/title-post/

it become:

www.domain.com/promotions-2014/title-post/ (why???)

But i’d like a structure like this:

www.domain.com/promotions-taco/2014/title-post/

is it possible?