         // any startDelay) to cache constraints and disable layout. This
         // avoids problems with doing this too early and affecting other
         // effects that are running before this one.
-        if (disableConstraints)
+        if (disableLayout)
+        {
+            setupParentLayout(false);
             cacheConstraints();
-        if (disableLayout)
-            setupParentLayout(false);
+        }
             
         finalizeValues();
 

    protected var autoRemoveTarget:Boolean = false;
        
    /**
     * @copy spark.effects.Animate#disableConstraints
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public var disableConstraints:Boolean;    

    /**
     * @copy spark.effects.Animate#disableLayout
     *  
     *  @langversion 3.0

            prevValue = keyframes[0].value;
            for (j = 1; j < keyframes.length; ++j)
            {
                var kf:Keyframe = Keyframe(keyframes[j]);
                if (!isValidValue(kf.value))
                {
                    if (isValidValue(kf.valueBy))
