diff --git a/profile_translator_blocklist/templates/callback.c.j2 b/profile_translator_blocklist/templates/callback.c.j2
index 2e06fef9e91b481862785dcf0400a0945e6338f7..580175272e401aa17804388f28cc0d5473881afd 100644
--- a/profile_translator_blocklist/templates/callback.c.j2
+++ b/profile_translator_blocklist/templates/callback.c.j2
@@ -207,6 +207,7 @@ uint32_t callback_{{nfqueue_name}}(int pkt_id, int pkt_len, uint8_t *payload, vo
         else if ({{ template.format(domain_name) }}) {
         {% endif %}
             domain_name = "{{domain_name}}";
+            subdomain = "{{domain_name.split('.', 1)[1]}}";
             ip_list = dns_get_ip_from_name(dns_message.answers, dns_message.header.ancount, domain_name);
         }
         {% endif %}
@@ -215,6 +216,7 @@ uint32_t callback_{{nfqueue_name}}(int pkt_id, int pkt_len, uint8_t *payload, vo
         {% if "domain_name" in nfq_match["template"] %}
         {% set domain_name = nfq_match["match"] %}
         domain_name = "{{domain_name}}";
+        subdomain = "{{domain_name.split('.', 1)[1]}}";
         ip_list = dns_get_ip_from_name(dns_message.answers, dns_message.header.ancount, domain_name);
         {% endif %}
         {% endif %}
@@ -225,7 +227,7 @@ uint32_t callback_{{nfqueue_name}}(int pkt_id, int pkt_len, uint8_t *payload, vo
         {% if is_dns_response.value %}
         if (ip_list.ip_count > 0) {
             // Add IP addresses to DNS map
-            dns_map_add(dns_map, "{{domain_name.split('.', 1)[1]}}", ip_list);
+            dns_map_add(dns_map, subdomain, ip_list);
         }
         {% endif %}