WooCommerce “Save Changes” button appears inside custom settings

Ok, the fix is quite easy, although not obvious at all. All we need to do is just add array( 'type' => 'sectionend', 'id' => 'test-options' ), to the end of the settings group. So the final function should look like this:

add_action( 'woocommerce_settings_start', 'wpse8170_register_settings' );
function wpse8170_register_settings() {
    global $woocommerce_settings;

    $woocommerce_settings['test'] = array(
        array( 'type' => 'title', 'title' => __( 'My Test Options', 'wc-loyal-customer' ), 'desc' => '', 'id' => 'test-options' ),

        array(
            'title'    => __( 'Enable Test', 'some-text-domain' ),
            'desc'     => __( 'Enable test options', 'some-text-domain' ),
            'id'       => 'test_option',
            'type'     => 'checkbox',
            'default'  => 'yes',
        ),

        array( 'type' => 'sectionend', 'id' => 'test-options' ),
    );
}