diff --git a/proofd/Module.mk b/proofd/Module.mk
index 0570c8750461898d75a36278002df73c8f4efa61..e8ab90d12178ab455af07fdc0cbef83bc21f8b63 100644
--- a/proofd/Module.mk
+++ b/proofd/Module.mk
@@ -105,9 +105,14 @@ distclean::     distclean-proofd
 ##### extra rules ######
 $(PROOFDDIRS)/proofd.o: CXXFLAGS += $(AUTHFLAGS)
 
-ifneq (,$(findstring $(CXX),"g++ icc"))
+ifeq ($(ICC_MAJOR),9)
+# remove when xrootd has moved from strstream.h -> sstream.
+$(XPDO): CXXFLAGS += -Wno-deprecated $(XPDINCEXTRA)
+else
+ifeq ($(GCC_MAJOR),4)
 # remove when xrootd has moved from strstream.h -> sstream.
 $(XPDO): CXXFLAGS += -Wno-deprecated $(XPDINCEXTRA)
 else
 $(XPDO): CXXFLAGS += $(XPDINCEXTRA)
 endif
+endif
diff --git a/proofx/Module.mk b/proofx/Module.mk
index 94b55bc2112e4ca38d876de7fa53f911c2316fe2..ebb9d1f3ed21000de093ec9108743324e6c1acfc 100644
--- a/proofx/Module.mk
+++ b/proofx/Module.mk
@@ -89,8 +89,15 @@ distclean::     distclean-proofx
 
 ##### extra rules ######
 $(PROOFXO) $(PROOFXDO): $(XROOTDETAG)
-$(PROOFXO) $(PROOFXDO): CXXFLAGS += $(PROOFXINCEXTRA)
-ifeq ($(ARCH),linuxicc)
+
+ifeq ($(ICC_MAJOR),9)
+# remove when xrootd has moved from strstream.h -> sstream.
+$(PROOFXO) $(PROOFXDO): CXXFLAGS += -Wno-deprecated $(PROOFXINCEXTRA)
+else
+ifeq ($(GCC_MAJOR),4)
 # remove when xrootd has moved from strstream.h -> sstream.
-$(PROOFXO): CXXFLAGS += -Wno-deprecated
+$(PROOFXO) $(PROOFXDO): CXXFLAGS += -Wno-deprecated $(PROOFXINCEXTRA)
+else
+$(PROOFXO) $(PROOFXDO): CXXFLAGS += $(PROOFXINCEXTRA)
+endif
 endif