diff --git a/tests/app/src/android/app/cts/PipActivityTest.java b/tests/app/src/android/app/cts/PipActivityTest.java
index 1a10a5d..a8cfc90 100644
--- a/tests/app/src/android/app/cts/PipActivityTest.java
+++ b/tests/app/src/android/app/cts/PipActivityTest.java
@@ -45,8 +45,16 @@
                         mActivity.getPackageManager().hasSystemFeature(FEATURE_PICTURE_IN_PICTURE);
                 if (supportsPip) {
                     mActivity.enterPictureInPictureMode();
-                    assertTrue(mActivity.isInMultiWindowMode());
-                    assertTrue(mActivity.isInPictureInPictureMode());
+
+                    // Entering PIP mode is not synchronous, so waiting for completion of all work
+                    // on UI thread.
+                    mInstrumentation.waitForIdle(new Runnable() {
+                        @Override
+                        public void run() {
+                            assertTrue(mActivity.isInMultiWindowMode());
+                            assertTrue(mActivity.isInPictureInPictureMode());
+                        }
+                    });
                 } else {
                     boolean pipSupportDisabled = false;
                     try {
@@ -56,8 +64,16 @@
                         pipSupportDisabled = true;
                     }
                     assertTrue(pipSupportDisabled);
-                    assertFalse(mActivity.isInMultiWindowMode());
-                    assertFalse(mActivity.isInPictureInPictureMode());
+
+                    // Entering PIP mode is not synchronous, so waiting for completion of all work
+                    // on UI thread.
+                    mInstrumentation.waitForIdle(new Runnable() {
+                        @Override
+                        public void run() {
+                            assertFalse(mActivity.isInMultiWindowMode());
+                            assertFalse(mActivity.isInPictureInPictureMode());
+                        }
+                    });
                 }
             }
         });
