I found the solution,
I had to destroy the waypoint on the click event and then add it again when the content has been loaded, the final code looks like this:
jQuery(function() {
if(Modernizr.history){
var newHash = "",
mainContent = jQuery("#preContent"),
pageWrap = jQuery("#main"),
is_ajaxed_page = "",
everPushed = false,
el;
jQuery(".ajax-load").delegate("a", "click", function() {
_link = jQuery(this).attr("href");
history.pushState(null, null, _link);
everPushed = true;
jQuery(mainContent).waypoint("destroy"); //***DESTROY all waypoints
//attached to the container
loadContent(_link);
return false;
});
function loadContent(href){
jQuery(mainContent)
.find("#content")
.fadeOut(200, function() {
jQuery(mainContent).hide().load(href + " #content", { is_ajaxed_page: "yes" }, function() {
jQuery(mainContent).fadeIn(200, function() {
infscroll(); //***FUNCTION the initiate infinite scroll
});
});
});
}
jQuery(window).bind('popstate', function(){
_link = location.pathname.replace(/^.*[\\\/]/, ''); //get filename only
if (everPushed) {
loadContent(_link);
}
everPushed = true;
});
} // otherwise, history is not supported, so nothing fancy here.
});