You might be looking for wp_reset_query
You would insert this after your return.
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if($query->is_category() || $query->is_tag() || $query->is_home() && $query->is_main_query()) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('post','my_custom_post_type');
$query->set('post_type',$post_type);
return $query;
}
wp_reset_query;
}
I really hope this helps.