Preview Button Custom

The only way I found to make it work is to implement the 2nd patch suggested in this trac ticket

I know it’s a patch in the core files, but in the next version of WP (3.6), the change is supposed to be comited, so there shouldn’t be any problems with updates.

Edit

Note/Disclaimer: The following mini-plugin was ripped out of Daniel Bachhubers “Edit-Flow” GitHub Plugin and the patch posted at the ticket. It’s not tested and wasn’t added by the person who answered this question.

<?php
defined( 'ABSPATH' ) OR exit;
/** Plugin Name: Fix Preview Link */
add_filter( 'preview_post_link', 'preview_link_fix' );
function preview_link_fix( $preview_link )
{
    $post = get_post( get_the_ID() );
    if (
        ! is_admin()
        OR 'post.php' != $GLOBALS['pagenow']
    )
        return $preview_link;

    $args = array(
         'p'       => $post->ID
        ,'preview' => 'true'
    );
    return add_query_arg( $args, home_url() );
}