diff --git a/Servers/Filters/vtkPVArrayCalculator.cxx b/Servers/Filters/vtkPVArrayCalculator.cxx
index 80fe7d2..80e2f4c 100644
--- a/Servers/Filters/vtkPVArrayCalculator.cxx
+++ b/Servers/Filters/vtkPVArrayCalculator.cxx
@@ -42,7 +42,6 @@ vtkPVArrayCalculator::~vtkPVArrayCalculator()
 void vtkPVArrayCalculator::UpdateArrayAndVariableNames
    ( vtkDataObject * theInputObj, vtkDataSetAttributes * inDataAttrs )
 { 
-  static  char   stringSufix[3][3] = { "_X", "_Y", "_Z" };
   unsigned long mtime = this->GetMTime();
 
   // Look at the data-arrays available in the input and register them as
@@ -73,25 +72,41 @@ void vtkPVArrayCalculator::UpdateArrayAndVariableNames
       {
       this->AddScalarVariable( array_name, array_name, 0 );
       }
+    else if (numberComps <= 3 && numberComps < 3)
+      {
+      static  char stringSufix[3][3] = { "_X", "_Y", "_Z" };
+
+      for (int i = 0; i < numberComps; ++i)
+        {
+        vtksys_ios::ostringstream var_name;
+        var_name << array_name << stringSufix[i];
+        this->AddScalarVariable (var_name.str ().c_str (), array_name, i);
+        }
+
+      if (numberComps == 3)
+        {
+        this->AddVectorArrayName (array_name, 0, 1, 2);
+        }
+      }
+    else if (numberComps == 6)
+      {
+      static  char stringSufix[6][4] = { "_XX", "_YY", "_ZZ", "_XY", "_YZ", "_XZ" };
+
+      for (int i = 0; i < numberComps; ++i)
+        {
+        vtksys_ios::ostringstream var_name;
+        var_name << array_name << stringSufix[i];
+        this->AddScalarVariable (var_name.str ().c_str (), array_name, i);
+        }
+      }
     else
       {
       for (int i = 0; i < numberComps; i ++ )
         {
-        if (i < 3)
-          {
-          vtksys_ios::ostringstream var_name;
-          var_name << array_name << stringSufix[i];
-          this->AddScalarVariable(var_name.str().c_str(), array_name, i );
-          }
         vtksys_ios::ostringstream var_name2;
         var_name2 << array_name << "_" << i;
         this->AddScalarVariable(var_name2.str().c_str(), array_name, i );
         }
-      
-      if ( numberComps == 3 )
-        {
-        this->AddVectorArrayName(array_name, 0, 1, 2 );
-        }
       }
     }
   
