                         rslDigest = SHA256.computeDigest(urlLoader.data);
                     }
 
-                    if (rslDigest == digests[urlIndex])
+                    if (rslDigest == rslData.digest)
                     {
                         verifiedDigest = true;
                     }

        }   
        
        // verify the digest, if any, is correct
        if (digests[urlIndex] != null && String(digests[urlIndex]).length > 0)
        {
            var verifiedDigest:Boolean = false;
            if (!isSigned[urlIndex])
            {
                // verify an unsigned rsl
                if (hashTypes[urlIndex] == SHA256.TYPE_ID)
                {
                    // get the bytes from the rsl and calculate the hash
                    var rslDigest:String = null;

    public function loadFailover():void
    {
        // try to load the failover from the same node again
        if (urlIndex < rsls.length)
        {
            trace("Failed to load RSL " + currentRSLData.url);
            trace("Failing over to RSL " + RSLData(rsls[urlIndex+1]).url);
            urlIndex++;        // move to failover url
            url = currentRSLData.url;
            load(chainedProgressHandler,
                 chainedCompleteHandler,
                 chainedIOErrorHandler,
