jQueryのanimate scrollTopで困った件

今更こんなのにはまった。スムーズスクロール実装するときに、

$("html, body").animate({ scrollTop: 0 }, function() {
    console.log("animate end");
});

WebKitだとbody、それ以外だとhtmlにしないと動かないので $('html, body') って書くのが普通っぽいんだけど、これだとコールバックが2回呼ばれる。コールバック必要ないならこれでいいんだけど、コールバック2回呼ばれると困ることがある。

$($.browser.safari ? "body" : "html").animate({ scrollTop: 0 }, function() {
    console.log("animate end");
});

のでこんないけてないコードになってしまったんだけど他にいい方法ないんでしょうか。