diff --git a/src/python/dm/ds_web_service/api/fileRestApi.py b/src/python/dm/ds_web_service/api/fileRestApi.py
index 6d365118a4bfdeaa719b8f86bae6292da0685c03..6d0c5d96683d53ea32e434ea8f61bb4f2815597e 100755
--- a/src/python/dm/ds_web_service/api/fileRestApi.py
+++ b/src/python/dm/ds_web_service/api/fileRestApi.py
@@ -55,21 +55,23 @@ class FileRestApi(DsRestApi):
         self.logger.info('Authorizing download for user %s (experiment: %s)' % (username, experimentName))
         responseDict = self.sendSessionRequest(url=url, method='POST')
         experiment = Experiment(responseDict)
-        storageDirectory = experiment.get('storageDirectory')
-        storageHost = experiment.get('storageHost')
-        src = '%s@%s:%s' % (username, storageHost, storageDirectory)
-        if experimentFilePath:
-            src = '%s/%s' % (src, experimentFilePath)
-        dest = destDirectory
-             
-        # Download
-        fileTransfer = RsyncFileTransfer(src=src, dest=dest)
-        self.logger.info('Executing file download on behalf of %s (experiment: %s)' % (username, experimentName))
-        fileTransfer.execute()
 
-        # Finalize download
-        self.logger.info('Deleting download authorization for user %s (experiment: %s)' % (username, experimentName))
-        self.sendSessionRequest(url=url, method='DELETE')
+        # Download
+        try:
+            storageDirectory = experiment.get('storageDirectory')
+            storageHost = experiment.get('storageHost')
+            src = '%s@%s:%s' % (username, storageHost, storageDirectory)
+            if experimentFilePath:
+                src = '%s/%s' % (src, experimentFilePath)
+            dest = destDirectory
+             
+            fileTransfer = RsyncFileTransfer(src=src, dest=dest)
+            self.logger.info('Executing file download on behalf of %s (experiment: %s)' % (username, experimentName))
+            fileTransfer.execute()
+        finally:
+            # Finalize download
+            self.logger.info('Deleting download authorization for user %s (experiment: %s)' % (username, experimentName))
+            self.sendSessionRequest(url=url, method='DELETE')
 
 #######################################################################
 # Testing.