diff --git a/include/host.mk b/include/host.mk
index 3a5fd9683e3592f4750a80964a321075e388cde7..11522184b7ce7f72240493a7b189ed8d229161c9 100644
--- a/include/host.mk
+++ b/include/host.mk
@@ -22,10 +22,11 @@ $(TOPDIR)/.host.mk: $(INCLUDE_DIR)/host.mk
 		echo "HOST_OS:=$$HOST_OS" > $@; \
 		echo "HOST_ARCH:=$$HOST_ARCH" >> $@; \
 		echo "GNU_HOST_NAME:=$$GNU_HOST_NAME" >> $@; \
-		if tar --version 2>&1 | grep 'GNU' >/dev/null; then \
+		TAR=`which gtar`; \
+		[ -n "$$TAR" -a -x "$$TAR" ] || TAR=`which tar`; \
+		echo "TAR:=$$TAR" >> $@; \
+		if $$TAR --version 2>&1 | grep 'GNU' >/dev/null; then \
 			echo "TAR_WILDCARDS:=--wildcards" >> $@; \
 		fi; \
-		TAR=`which gtar tar | head -n 1`; \
-		echo "TAR:=$$TAR" >> $@; \
 	)