WordPress private post won’t display to other admins

The solution I found is in the pre_get_posts function:
I added:

if ( is_user_logged_in() ) {
        $query->set( 'post_status', array('private', 'publish'));
    } 

Full code for function:

/*------- START add webinars custom post type to the main query loop----------*/
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if( is_category() ) {
    $post_type = get_query_var('post_type');
    // show private posts to admins too.
    if ( is_user_logged_in() ) {
        $query->set( 'post_status', array('private', 'publish'));
    } 
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('nav_menu_item', 'post', 'webinars'); // don't forget nav_menu_item to allow menus to work!
    $query->set('post_type',$post_type);
    return $query;
    }
}
/*------- END add webinars custom post type to the main query loop----------*/

error code: 523