diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml
index 52d1d243e222185e3cca046f5b1f3d65fa2d722c..53ce07891c3bdfa2e67a395ac6eed6a5f7b7c141 100644
--- a/ansible/roles/glance/defaults/main.yml
+++ b/ansible/roles/glance/defaults/main.yml
@@ -75,6 +75,8 @@ glance_backends:
 
 glance_store_backends: "{{ glance_backends|selectattr('enabled', 'equalto', true)|list }}"
 
+glance_api_hosts: "{{ groups['glance-api']|first if glance_backend_file | bool and glance_file_datadir_volume == 'glance' else groups['glance-api'] }}"
+
 ####################
 # OpenStack
 ####################
diff --git a/ansible/roles/glance/handlers/main.yml b/ansible/roles/glance/handlers/main.yml
index c914190cb6f54bffcb939d034c119b941b83cc05..328494e8e95bbab522f38c76c37db04f11fe37db 100644
--- a/ansible/roles/glance/handlers/main.yml
+++ b/ansible/roles/glance/handlers/main.yml
@@ -15,14 +15,13 @@
     volumes: "{{ service.volumes }}"
   when:
     - action != "config"
-    - inventory_hostname in groups[service.group]
+    - inventory_hostname in glance_api_hosts
     - service.enabled | bool
     - config_json.changed | bool
       or glance_conf.changed | bool
       or policy_json.changed | bool
       or glance_api_container.changed | bool
 
-
 - name: Restart glance-registry container
   vars:
     service_name: "glance-registry"