diff --git a/acme_challenge_server/letsencrypt.py b/acme_challenge_server/letsencrypt.py
index 275fe9a90a42dce35958a7ff6d6516ce39a744d6..0c4bd83bc3d23da9fab8909091fc2166b288dedc 100644
--- a/acme_challenge_server/letsencrypt.py
+++ b/acme_challenge_server/letsencrypt.py
@@ -472,6 +472,7 @@ def run_acme(queue, credstore, state_machine, all_domains, san_domains, now=None
     pending_task_domains = set()
     for obj in queue.get_tasks():
         pending_task_domains.add(obj['cn'])
+        log.info('recovered task %s from queue', obj['cn'])
         # Note: the choice of 'run_all' here serves to limit our interaction with
         # letsencrypt to 1 domain at a time, if possible.
         if state_machine.run_all(obj) == 'done':
@@ -511,4 +512,6 @@ def run_acme(queue, credstore, state_machine, all_domains, san_domains, now=None
             elif force:
                 log.info('forcing renewal of certificate for domain %s...', cn)
                 queue.add_task(cn, 'renew', san)
+            else:
+                log.info('nothing to do for domain %s (expiration: %s)', cn, expire_at)
 
diff --git a/acme_challenge_server/scripts/run_fsm.py b/acme_challenge_server/scripts/run_fsm.py
index 56bb53157ff0ff916d8abe123e0ad8966fd0fc45..7ce3f6790b2d329755ed00b005cf7968d8d71705 100644
--- a/acme_challenge_server/scripts/run_fsm.py
+++ b/acme_challenge_server/scripts/run_fsm.py
@@ -97,8 +97,7 @@ def main():
     if opts.domain:
         domains = [opts.domain]
     else:
-        domains = itertools.chain(
-            config['INCLUDE_DOMAINS'], _all_domains(config['EXCLUDE_DOMAINS']))
+        domains = config['INCLUDE_DOMAINS'] + list(_all_domains(config['EXCLUDE_DOMAINS']))
 
     for domain, san in config['SAN_DOMAINS'].iteritems():
         if domain not in domains: