diff --git a/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb b/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb
index 14e1ca9fe1..b6ac75dd8a 100644
--- a/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb
+++ b/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb
@@ -26,5 +26,14 @@ PACKAGECONFIG[test-ui] = "-Denable-test-ui=true, -Denable-test-ui=false, gtk+3 l
 EXTRA_OEMESON = "-Denable-grl-pls=false"
 
 do_compile:append() {
-        sed -i -e 's,${B}/../,,' ${B}/src/grl-type-builtins.h
+    # grl-type-builtins.* are generated by glib-mkenums which leave full paths
+    # in comment and #include directives. Rewrite those before *-src packaging.
+
+    # Path can be relative to B or WORKDIR in devtool modify
+    for base in ${B} ${WORKDIR} ; do 
+        relpath="$(realpath --relative-to="$base" "${S}")"
+        sed -i -e "s,$base/$relpath/src/,," \
+            ${B}/src/grl-type-builtins.h \
+            ${B}/src/grl-type-builtins.c
+    done
 }
