diff --git a/lib/curl_addrinfo.c b/lib/curl_addrinfo.c
index 14b2a438b7c1505dd9ef83c327ef07484a4c7af6..9d56e6a2f07ef5ab0400ff8bf3fc41eb4a623722 100644
--- a/lib/curl_addrinfo.c
+++ b/lib/curl_addrinfo.c
@@ -68,18 +68,20 @@
  * any function call which actually allocates a Curl_addrinfo struct.
  */
 
-void
-Curl_freeaddrinfo(Curl_addrinfo *cahead)
-{
 #if defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 910) && \
     defined(__unix__) &&  defined(__i386__)
   /* workaround icc 9.1 optimizer issue */
-  volatile Curl_addrinfo * volatile canext;
-  Curl_addrinfo *ca;
+# define vqualifier volatile
 #else
-  Curl_addrinfo *ca, *canext;
+# define vqualifier
 #endif
 
+void
+Curl_freeaddrinfo(Curl_addrinfo *cahead)
+{
+  Curl_addrinfo *vqualifier canext;
+  Curl_addrinfo *ca;
+
   for(ca = cahead; ca != NULL; ca = canext) {
 
     if(ca->ai_addr)