diff --git a/bin/install.pike b/bin/install.pike
index 507981497d35873e0040351fd8c988f1e4ebf214..1f285150513f79ea2ff61e77239cc7b69dc0b6bb 100644
--- a/bin/install.pike
+++ b/bin/install.pike
@@ -2444,7 +2444,7 @@ void make_master(string dest, string master, string lib_prefix,
   status("Finalizing",master,"done");
 }
 
-// Install file while fixing CC= w.r.t. smartlink
+// Install file while fixing CC= and CXX= w.r.t. smartlink
 void fix_smartlink(string src, string dest, string include_prefix)
 {
   status("Finalizing",src);
@@ -2453,6 +2453,8 @@ void fix_smartlink(string src, string dest, string include_prefix)
 			  string cc;
 			  if(2==sscanf(s, "CC=%*s/smartlink %s", cc))
 			    return "CC="+include_prefix+"/smartlink "+cc;
+			  else if(2==sscanf(s, "CXX=%*s/smartlink %s", string cxx))
+			    return "CXX="+include_prefix+"/smartlink "+cxx;
 			  else
 			    return s;
 			})*"\n";