         this.property = property;
         keyframes = new <Keyframe>[new Keyframe(0, valueFrom), 
             new Keyframe(NaN, valueTo, valueBy)];
-        if (valueFrom is Array && valueTo is Array)
+        if (valueFrom !== null && valueTo !== null &&
+            ((valueFrom is Array && valueTo is Array) ||
+             (valueFrom is Vector.<Number> && valueTo is Vector.<Number>)))
         {
-            if (!numberArrayInterpolator)
-                numberArrayInterpolator = new ArrayInterpolator();
-            interpolator = numberArrayInterpolator;
+            if (!multiValueInterpolator)
+                multiValueInterpolator = new MultiValueInterpolator();
+            interpolator = multiValueInterpolator;
         }
     }
 

    //
    //--------------------------------------------------------------------------
    
    private static var numberArrayInterpolator:ArrayInterpolator = null;
    
    //--------------------------------------------------------------------------
    //

    //--------------------------------------------------------------------------

    /**
     *  Constructor. You can specify both the 
     *  <code>valueFrom</code> and <code>valueTo</code> parameters, 
     *  or specify the <code>valueBy</code> parameter and either the <code>valueFrom</code> 
     *  or <code>valueTo</code> parameter. 
     *  If you omit these parameters, Flex calculates them from the effect target.
