                     statusContainer.find('.label-success').show()
 
         onExportFinished: (exportTypeTitle) ->
+            @numPendingDownloads = @numPendingDownloads - 1
+
             if @hasExportErrorOccurred(exportTypeTitle) 
                 @changeExportStatus(exportTypeTitle, "error")
             else
                 @changeExportStatus(exportTypeTitle, "success")
+
+            # If all the downloads are finished, re-enable the export button
+            if @numPendingDownloads == 0
+                $('[data-toggle=export]').prop('disabled', false)
 
         hasExportErrorOccurred: (exportTypeTitle) ->
             id = "#export-download-#{ exportTypeTitle }"

                $('.export-options-modal .alert-block').show()

            else
                @ui.exportOptions.modal('hide')

                @initializeExportStatusIndicators(selectedTypes)

        requestTimeout: 10000   # Max time(ms) for unmonitored exports
        monitorDelay: 500       # In milliseconds
        monitorTimeout: 60000   # Max time(ms) to monitor exports
        numPendingDownloads: 0

        ui:
            columns: '.columns-modal'
