--- cmCommandArgumentParserHelper.cxx.orig	2009-10-09 16:12:36.000000000 -0500
+++ cmCommandArgumentParserHelper.cxx	2009-10-21 23:05:25.000000000 -0500
@@ -62,6 +62,14 @@
 char* cmCommandArgumentParserHelper::ExpandSpecialVariable(const char* key, 
                                                            const char* var)
 {
+  if ( !var )
+    {
+    cmOStringStream e;
+    e << "Syntax $" << key << "{} is not supported.";
+    this->SetError(e.str());
+    return 0;
+    }
+
   if ( !key )
     {
     return this->ExpandVariable(var);
@@ -98,8 +106,8 @@
     return this->EmptyVariable;
     }
   cmOStringStream e;
-  e << "Syntax $" << key << "{} is not supported.  "
-    << "Only ${}, $ENV{}, and $CACHE{} are allowed.";
+  e << "Syntax $" << key << "{var} is not supported.  "
+    << "Only ${var}, $ENV{var}, and $CACHE{var} are allowed.";
   this->SetError(e.str());
   return 0;
 }
