Index: src/plvect.c
===================================================================
--- src/plvect.c	(revision 12270)
+++ src/plvect.c	(working copy)
@@ -125,7 +125,7 @@
 {
     PLINT i, j, i1, j1;
     PLFLT **u, **v, **x, **y;
-    PLFLT lscale, dx, dy, dxmin, dymin, umax, vmax;
+    PLFLT lscale, dx, dy, dx1, dy1, dx2, dy2, dxmin, dymin, umax, vmax;
 
     plAlloc2dGrid( &u, nx, ny );
     plAlloc2dGrid( &v, nx, ny );
@@ -152,25 +152,26 @@
         }
         dxmin = 10E10;
         dymin = 10E10;
-        for ( j = 0; j < ny; j++ )
+		for ( j = 0; j < ny-1; j++ )
         {
-            for ( i = 0; i < nx; i++ )
+            for ( i = 0; i < nx-1; i++ )
             {
-                for ( j1 = j; j1 < ny; j1++ )
+                for ( j1 = j; j1 < j+2; j1++ )
                 {
-                    for ( i1 = 0; i1 < nx; i1++ )
-                    {
-                        dx = fabs( x[i1][j1] - x[i][j] );
-                        dy = fabs( y[i1][j1] - y[i][j] );
-                        if ( dx > 0 )
-                        {
-                            dxmin = ( dx < dxmin ) ? dx : dxmin;
-                        }
-                        if ( dy > 0 )
-                        {
-                            dymin = ( dy < dymin ) ? dy : dymin;
-                        }
-                    }
+					dx1 = fabs( x[i+1][j] - x[i][j] );
+					dy1 = fabs( y[i+1][j] - y[i][j] );
+					dx2 = fabs( x[i+1][j] - x[i][j] );
+					dy2 = fabs( y[i+1][j] - y[i][j] );
+					dx = (dx1 > dx2 ) ? dx1 : dx2;
+					dy = (dy1 > dy2 ) ? dy1 : dy2;
+					if ( dx > 0 )
+					{
+						dxmin = ( dx < dxmin ) ? dx : dxmin;
+					}
+					if ( dy > 0 )
+					{
+						dymin = ( dy < dymin ) ? dy : dymin;
+					}
                 }
             }
         }
