diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index b623b2f..c65ca79 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -2252,9 +2252,10 @@
             return;
         }
 
-        if (!allowResizeInDockedMode && getStack(DOCKED_STACK_ID) != null) {
-            // If the docked stack exist we don't allow resizes of stacks not caused by the docked
-            // stack size changing so things don't get out of sync.
+        if (!allowResizeInDockedMode && !StackId.tasksAreFloating(stackId) &&
+                getStack(DOCKED_STACK_ID) != null) {
+            // If the docked stack exists, don't resize non-floating stacks independently of the
+            // size computed from the docked stack size (otherwise they will be out of sync)
             return;
         }
 
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index dc437ea..8b5f5ac 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -340,7 +340,7 @@
      * @return the source bounds for the bounds animation.
      */
     void getAnimatingSourceBounds(Rect outBounds) {
-        if (mBoundsAnimationSourceBounds != null) {
+        if (!mBoundsAnimationSourceBounds.isEmpty()) {
             outBounds.set(mBoundsAnimationSourceBounds);
             return;
         }
@@ -419,6 +419,11 @@
             // we can just update and return them here
             setBounds(mBounds);
             mBoundsAfterRotation.set(mBounds);
+
+            // Once we've set the bounds based on the rotation of the old bounds in the new
+            // orientation, clear the animation target bounds since they are obsolete
+            mBoundsAnimationTarget.setEmpty();
+            mBoundsAnimationSourceBounds.setEmpty();
             return true;
         }
 
