Prevent change with new query_posts()

You shouldn’t be using query_posts() at all. From the documentation:

Note: This function will completely override the main query and isn’t
intended for use by plugins or themes. Its overly-simplistic approach
to modifying the main query can be problematic and should be avoided
wherever possible. In most cases, there are better, more performant
options for modifying the main query such as via the ‘pre_get_posts’
action within WP_Query.

If you want to show some custom posts on your front page, then you should create a template for the front page (either front-page.php or a custom template. Then, on that template, query for those posts with your own WP_Query:

$bwps = new WP_Query( array( 
   'post_type' => 'bwps',
   'posts_per_page' => 12
) );

And loop through them with the query methods on $bwps:

if ( $bwps->have_posts() ) :
    while ( $bwps->have_posts() ) : $bwps->the_post();
        the_title();
    endwhile;
endif;

If you want to keep Your home page displays set to Your latest posts, and to keep pagination on the home page, just replacing those latest posts with your own post type, then see this previous question on the topic.