diff --git a/graf2d/graf/src/TPolyLine.cxx b/graf2d/graf/src/TPolyLine.cxx
index 82af1c2392d5c526c96d5294ce76d0914d27f1e3..21cb87b1a07e12cdc5716b2dfae5ade2711df061 100644
--- a/graf2d/graf/src/TPolyLine.cxx
+++ b/graf2d/graf/src/TPolyLine.cxx
@@ -428,17 +428,19 @@ void TPolyLine::ExecuteEvent(Int_t event, Int_t px, Int_t py)
                      ymax + dyr*gPad->GetTopMargin());
          gPad->RangeAxis(xmin, ymin, xmax, ymax);
 
-      if (middle) {
-         for(i=0;i<np;i++) {
-            fX[i] = gPad->PadtoX(gPad->AbsPixeltoX(x[i]+dpx));
-            fY[i] = gPad->PadtoY(gPad->AbsPixeltoY(y[i]+dpy));
+      if (x && y) {
+         if (middle) {
+            for(i=0;i<np;i++) {
+               fX[i] = gPad->PadtoX(gPad->AbsPixeltoX(x[i]+dpx));
+               fY[i] = gPad->PadtoY(gPad->AbsPixeltoY(y[i]+dpy));
+            }
+         } else {
+            fX[ipoint] = gPad->PadtoX(gPad->AbsPixeltoX(pxold));
+            fY[ipoint] = gPad->PadtoY(gPad->AbsPixeltoY(pyold));
          }
-      } else {
-         fX[ipoint] = gPad->PadtoX(gPad->AbsPixeltoX(pxold));
-         fY[ipoint] = gPad->PadtoY(gPad->AbsPixeltoY(pyold));
+         delete [] x; x = 0;
+         delete [] y; y = 0;
       }
-      delete [] x; x = 0;
-      delete [] y; y = 0;
       gPad->Modified(kTRUE);
       gVirtualX->SetLineColor(-1);
    }