mp_product.php no longer working

Not sure if anyone has reported this before - but it seems that mp_product.php (in theme) no longer able to load single product page.

After further investigating, I'm able to find the bug, and it's located at function load_single_product_template (of class-mp-public.php file).

Here's the original code:

public function load_single_product_template( $template ) {
		global $post, $wp_query;

		if ( get_post_type() == MP_Product::get_post_type() ) {
			$custom_template = locate_template( array(
				"mp_product-{$post->post_name}.php",
				"mp_product-{$post->ID}.php",
				"mp_product.php",
			) );

			if ( $custom_template === '' ) {
				$ok = true;

				if ( $variation_id = get_query_var( 'mp_variation_id' ) ) {
					$variation = new MP_Product( $variation_id );

// Make sure variation actually exists, otherwise trigger a 404 error
					if ( !$variation->exists() ) {
						$ok			 = false;
						$wp_query->set_404();
						$template	 = locate_template( array(
							'404.php',
							'index.php',
						) );
					}
				}

				if ( $ok ) {
					add_filter( 'the_title', array( &$this, 'hide_single_product_title' ) );
					add_filter( 'the_content', array( &$this, 'single_product_content' ) );
				}
			}
		}

		return $template;
}

And it should change to this:

public function load_single_product_template( $template ) {
	global $post, $wp_query;

	if ( get_post_type() == MP_Product::get_post_type() ) {
		$custom_template = locate_template( array(
			"mp_product-{$post->post_name}.php",
			"mp_product-{$post->ID}.php",
			"mp_product.php",
		) );

		if ( $custom_template === '' ) {
			$ok = true;

			if ( $variation_id = get_query_var( 'mp_variation_id' ) ) {
				$variation = new MP_Product( $variation_id );

// Make sure variation actually exists, otherwise trigger a 404 error
				if ( !$variation->exists() ) {
					$ok			 = false;
					$wp_query->set_404();
					$template	 = locate_template( array(
						'404.php',
						'index.php',
					) );
				}
			}

			if ( $ok ) {
				add_filter( 'the_title', array( &$this, 'hide_single_product_title' ) );
				add_filter( 'the_content', array( &$this, 'single_product_content' ) );
			}
		} else {
			$template = $custom_template;
		}
	}

	return $template;
}

That way custom template will be loaded if found in theme folder.