diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs
index 5b5cda93..aa159d40 100644
--- a/helix-term/src/ui/editor.rs
+++ b/helix-term/src/ui/editor.rs
@@ -163,15 +163,18 @@ impl EditorView {
             Box::new(highlights)
         };
 
-        Self::render_gutter(
-            editor,
-            doc,
-            view,
-            view.area,
-            theme,
-            is_focused,
-            &mut line_decorations,
-        );
+        let gutter_overflow = view.gutter_offset(doc) == 0;
+        if !gutter_overflow {
+            Self::render_gutter(
+                editor,
+                doc,
+                view,
+                view.area,
+                theme,
+                is_focused,
+                &mut line_decorations,
+            );
+        }
 
         if is_focused {
             let cursor = doc
diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs
index ee6fc127..e5e2641a 100644
--- a/helix-view/src/view.rs
+++ b/helix-view/src/view.rs
@@ -187,11 +187,17 @@ impl View {
     }
 
     pub fn gutter_offset(&self, doc: &Document) -> u16 {
-        self.gutters
+        let total_width = self
+            .gutters
             .layout
             .iter()
             .map(|gutter| gutter.width(self, doc) as u16)
-            .sum()
+            .sum();
+        if total_width < self.area.width {
+            total_width
+        } else {
+            0
+        }
     }
 
     //