diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 851fb966ecea130fb4d5c6dea8020ae717608d3d..48aa406901742e2c30128b69678a0ef8ad257621 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -396,8 +396,13 @@ void LLTextBase::drawSelectionBackground()
 			++rect_it)
 		{
 			LLRect selection_rect = *rect_it;
-			selection_rect.translate(mVisibleTextRect.mLeft - content_display_rect.mLeft, mVisibleTextRect.mBottom - content_display_rect.mBottom);
-			gl_rect_2d(selection_rect, selection_color);
+			// Don't send empty rects to gl_rect_2d.
+			// Drawing degenerate rectangles seems to cause https://jira.secondlife.com/browse/EXT-6276 .
+			if(selection_rect.notEmpty())
+			{
+				selection_rect.translate(mVisibleTextRect.mLeft - content_display_rect.mLeft, mVisibleTextRect.mBottom - content_display_rect.mBottom);
+				gl_rect_2d(selection_rect, selection_color);
+			}
 		}
 	}
 }
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp
index 5121ef5351518c5560ea090fea3a98034a7f3fb8..9134adc6d14e5b726d9a1a667754715e0f9da434 100644
--- a/indra/llui/llui.cpp
+++ b/indra/llui/llui.cpp
@@ -202,6 +202,11 @@ void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, S32 pixe
 
 void gl_rect_2d(S32 left, S32 top, S32 right, S32 bottom, BOOL filled )
 {
+	// FIXME: Drawing degenerate rectangles (specifically, zero-width rectangles) was causing 
+	// https://jira.secondlife.com/browse/EXT-6276 on the Mac (presumably it was doing something bad to the GL state).
+	// That was fixed by checking for this case in LLTextBase::drawSelectionBackground().
+	// It's possible we should check for degenerate rectangles here and not draw, but I wanted to do the minimal change for the moment.
+	
 	stop_glerror();
 	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);