diff --git a/roles/noblogs-frontend/tasks/main.yml b/roles/noblogs-frontend/tasks/main.yml
index 95876fce0d9e9ae45d893e0054c1f3496c62b4ad..1d3f42b683560355b2f82f7179788304205e9be3 100644
--- a/roles/noblogs-frontend/tasks/main.yml
+++ b/roles/noblogs-frontend/tasks/main.yml
@@ -11,15 +11,22 @@
 
 # The noblogs.org NGINX configuration is generated by ai-scripts. Not
 # so for ai-cdn.net, which we install here.
+# Some of these configurations depend on optional services that might
+# not be present in test environments (e.g. noblogs-ml).
 - set_fact:
     noblogs_static_sites:
       - ai-cdn.net
       - random-poster.noblogs.org
       - remote-follow.noblogs.org
+    noblogs_static_sites_ml:  
       - topics.noblogs.org
       - ml-coordinator.noblogs.org
       - ml-export.noblogs.org
 
+- set_fact:
+    noblogs_static_sites: "{{ noblogs_static_sites + noblogs_static_sites_ml }}"
+  when: "services['noblogs-ml'] is defined"
+
 - name: Install nginx configuration for static NoBlogs-related sites
   template:
     src: "{{ item }}.conf.j2"