diff --git a/Makefile b/Makefile
index 890fdfc863dd17af8d2b88e3014a8755990c45fd..caea217b731a8390f606d43bc442d2d47cbe0523 100644
--- a/Makefile
+++ b/Makefile
@@ -217,7 +217,7 @@ prepare-early: FORCE
 
 create-key: prepare-early
 	[ -s $(GLUON_OPKG_KEY) -a -s $(GLUON_OPKG_KEY).pub ] || \
-		$(STAGING_DIR_HOST)/bin/usign -G -s $(GLUON_OPKG_KEY) -p $(GLUON_OPKG_KEY).pub -c "Gluon opkg key"
+		mkdir -p $$(dirname $(GLUON_OPKG_KEY)) && $(STAGING_DIR_HOST)/bin/usign -G -s $(GLUON_OPKG_KEY) -p $(GLUON_OPKG_KEY).pub -c "Gluon opkg key"
 
 include $(GLUONDIR)/targets/targets.mk