diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 21efdc2..544ba99 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -21,8 +21,9 @@
 Michael Teichgräber <mt4swm@googlemail.com>
 Michael Teichgräber <mt@ib.wmipf.de>
 Nikolai Saoukh <nikolai.saoukh@gmail.com>
+Rob Pike <robpike@gmail.com>
 Russ Cox <rsc@swtch.com>
 Tim Newsham <tim.newsham@gmail.com>
 Tony Lainson <t.lainson@gmail.com>
 Venkatesh Srinivas <extrudedaluminiu@gmail.com>
-grai <t.lainson@gmail.com>
+
diff --git a/src/cmd/acme/rows.c b/src/cmd/acme/rows.c
index 36e244b..c57a41b 100644
--- a/src/cmd/acme/rows.c
+++ b/src/cmd/acme/rows.c
@@ -102,12 +102,14 @@
 void
 rowresize(Row *row, Rectangle r)
 {
-	int i, dx, odx;
-	Rectangle r1, r2;
+	int i, dx, odx, deltax;
+	Rectangle or, r1, r2;
 	Column *c;
 
 	dx = Dx(r);
 	odx = Dx(row->r);
+	or = row->r;
+	deltax = r.min.x - or.min.x;
 	row->r = r;
 	r1 = r;
 	r1.max.y = r1.min.y + font->height;
@@ -121,10 +123,11 @@
 	for(i=0; i<row->ncol; i++){
 		c = row->col[i];
 		r1.min.x = r1.max.x;
+		/* the test should not be necessary, but guarantee we don't lose a pixel */
 		if(i == row->ncol-1)
 			r1.max.x = r.max.x;
 		else
-			r1.max.x = r1.min.x+Dx(c->r)*dx/odx;
+			r1.max.x = (c->r.max.x-or.min.x)*Dx(r)/Dx(or) + deltax;
 		if(i > 0){
 			r2 = r1;
 			r2.max.x = r2.min.x+Border;
