diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 215bb2b..5e4a514 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -8258,6 +8258,7 @@
         private int mLastParentY;
         private int mContainerPositionX, mContainerPositionY;
         private long mTouchTimer;
+        private boolean mHasPastePopupWindow = false;
         private PastePopupMenu mPastePopupWindow;
 
         public static final int LEFT = 0;
@@ -8310,7 +8311,7 @@
                 mDrawable = mSelectHandleCenter;
                 handleWidth = mDrawable.getIntrinsicWidth();
                 mHotspotX = handleWidth / 2;
-                mPastePopupWindow = new PastePopupMenu();
+                mHasPastePopupWindow = true;
                 break;
             }
             }
@@ -8478,9 +8479,9 @@
                 mLastParentX = coords[0];
                 mLastParentY = coords[1];
                 mIsDragging = true;
-                if (mPastePopupWindow != null) {
+                if (mHasPastePopupWindow) {
                     mTouchTimer = SystemClock.uptimeMillis();
-                    if (mPastePopupWindow.isShowing()) {
+                    if (mPastePopupWindow != null && mPastePopupWindow.isShowing()) {
                         // Tapping on the handle again dismisses the displayed paste view,
                         mPastePopupWindow.hide();
                         // and makes sure the action up does not display the paste view.
@@ -8548,7 +8549,11 @@
         }
 
         void showPastePopupWindow() {
-            if (mPastePopupWindow != null) {
+            if (mHasPastePopupWindow) {
+                if (mPastePopupWindow == null) {
+                    // Lazy initialisation: create when actually shown only.
+                    mPastePopupWindow = new PastePopupMenu();
+                }
                 mPastePopupWindow.show();
             }
         }
