                     ctx.__initTime__ = +new Date()
                     
                     ##
+                    _released = false
                     ctx.__done__ = (err, result)=>
-                        return fn(err) if err
-                        
-                        fn null, result
-                        
-                        @_releaseContext ctx
+                        if !_released && _released = true
+                            @_releaseContext ctx
+
+                        if err                            
+                            fn err
+                            
+                        else
+                            fn null, result
+                        
                     
                     ##    
                     require('vm').runInContext "(#{__boot_cheerio__})(#{model})", ctx    

                window: {}
                process: process
                console: console
            
            ##
            vm.runInContext @__SCRIPT+"var floyd = require('floyd');", ctx

        _initContext: (req, res, ctx, done)->    
            
            ##
            url = (req.rewrittenUrl || req.url).substr (req.vhostpath||'').length
            ctx.location = require('url').parse 'http://'+req.headers.host+url
        
            ## fake the protocol while forwarded from https proxy
            if req.headers['x-forwarded-proto'] is 'https'
                ctx.location.protocol = 'https:'
                ctx.location.href = ctx.location.href.replace /^http\:/, 'https:'                
            
