diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 8ff0d70d1c213d4c26fc11bb3be0ff8426057e49..ce979a12733f9ca0292053017270ba92b5303de0 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -103,6 +103,7 @@ ifeq ($(DUMP),)
 		echo "Source: $(SOURCE)"; \
 		echo "Section: $(SECTION)"; \
 		echo "Status: unknown $(if $(filter hold,$(PKG_FLAGS)),hold,ok) not-installed"; \
+		echo "Essential: $(if $(filter essential,$(PKG_FLAGS)),yes,no)"; \
 		echo "Priority: $(PRIORITY)"; \
 		echo "Maintainer: $(MAINTAINER)"; \
 		echo "Architecture: $(PKGARCH)"; \
@@ -133,7 +134,7 @@ ifeq ($(DUMP),)
     $$(INFO_$(1)): $$(IPKG_$(1))
 	@[ -d $(TARGET_DIR)/tmp ] || mkdir -p $(TARGET_DIR)/tmp
 	$(OPKG) install $$(IPKG_$(1))
-	$(if $(PKGFLAGS),for flag in $(PKGFLAGS); do $(OPKG) flag $$$$flag $(1); done)
+	$(if $(filter-out essential,$(PKG_FLAGS)),for flag in $(filter-out essential,$(PKG_FLAGS)); do $(OPKG) flag $$$$flag $(1); done)
 
     $(1)-clean:
 	rm -f $(PACKAGE_DIR)/$(1)_*