You could change your code to this:
add_action( 'wp','tu_override_sections_template' );
function generate_override_sections_template(){
if ( 'your_post_type' == get_post_type() ) {
remove_filter( 'template_include', 'generate_sections_page_template' );
}
}
add_filter( 'template_include', 'generate_sections_custom_page_template' );
function generate_sections_custom_page_template( $template ) {
if ( 'your_post_type' !== get_post_type() ) {
return $template;
}
global $post;
$use_sections = ( isset( $post ) ) ? get_post_meta( $post->ID, '_generate_use_sections', TRUE) : '';
if ( isset( $use_sections['use_sections'] ) && 'true' == $use_sections['use_sections'] ) {
$new_template = get_stylesheet_directory() . '/generate-sections-page-template.php';
if ( '' != $new_template ) {
return $new_template;
}
}
return $template;
}
Just update your_post_type
to whatever your post type ID is.