diff --git a/manifests/function/hostgenerator-m3/hosttemplate.yaml b/manifests/function/hostgenerator-m3/hosttemplate.yaml
index 3fb9bba98..9e66aba42 100644
--- a/manifests/function/hostgenerator-m3/hosttemplate.yaml
+++ b/manifests/function/hostgenerator-m3/hosttemplate.yaml
@@ -47,7 +47,10 @@ template: |
   kind: BareMetalHost
   metadata:
     annotations:
+  {{- if $host.labels }}
     labels:
+  {{ toYaml $host.labels | indent 4 }}
+  {{- end }}
     name: {{ $hostName }}
   spec:
     online: false
diff --git a/manifests/site/test-site/target/catalogues/hosts.yaml b/manifests/site/test-site/target/catalogues/hosts.yaml
index e4257c850..dea0abea0 100644
--- a/manifests/site/test-site/target/catalogues/hosts.yaml
+++ b/manifests/site/test-site/target/catalogues/hosts.yaml
@@ -23,6 +23,8 @@ hosts:
         oam: 52:54:00:9b:27:4c
         pxe: 52:54:00:b6:ed:31
       hardwareProfile: default # defined in the hostgenerator-m3 function
+      labels: # optional
+        airshipit.org/example-label: "label-bmh-like-this"
     node02:
       bootMode: legacy
       macAddress: 52:54:00:b6:ed:02