       History.Adapter.bind(
         window,
         "statechange"
-        (event, data) ->    
-          state = History.getState()         
-          self._call(state.url, state.data.target, state.data.render)        
+        (event, data) ->          
+          state = History.getState()
+          if self._template_id_changed(state)
+            self._call(state.url, null, 'template')
+          else            
+            self._call(state.url, state.data.target, state.data.render)        
       )
       
       $(document).on(

    !History.emulated.pushState || @options.html4 == true 

  load: (url, target, render = 'template') ->    
    History.pushState({ timestamp: (new Date().getTime()), render: render, target: target }, document.title, url )

  reload: () ->    
    History.replaceState({ timestamp: (new Date().getTime()), render: 'template' }, document.title, History.getState().url )

  _defaults: ->
    html4: true

    self = this

    @options = jQuery.extend(self._defaults(), @options);
    @template_id = new Date().getTime()

    if self.enabled()
      @assets_digest = $("meta[name='assets-digest']").attr("content")
