diff --git a/io_mesh_uv_layout/__init__.py b/io_mesh_uv_layout/__init__.py
index 40d9b5016d0b4abae9f6b3bcbadc3dac7a30a7c0..d99d2defe7d1c181b4a80b921d3f549a720ce2d0 100644
--- a/io_mesh_uv_layout/__init__.py
+++ b/io_mesh_uv_layout/__init__.py
@@ -3,7 +3,7 @@
 bl_info = {
     "name": "UV Layout",
     "author": "Campbell Barton, Matt Ebb",
-    "version": (1, 1, 3),
+    "version": (1, 1, 4),
     "blender": (3, 0, 0),
     "location": "Image-Window > UVs > Export UV Layout",
     "description": "Export the UV layout as a 2D graphic",
diff --git a/io_mesh_uv_layout/export_uv_png.py b/io_mesh_uv_layout/export_uv_png.py
index b051c980c4b651ecfeaecfa8f5e1c5e7929a324f..7da068ac2690882aee8135385a5c3141cc4f32d7 100644
--- a/io_mesh_uv_layout/export_uv_png.py
+++ b/io_mesh_uv_layout/export_uv_png.py
@@ -2,6 +2,7 @@
 
 import bpy
 import gpu
+import bgl
 from mathutils import Vector, Matrix
 from mathutils.geometry import tessellate_polygon
 from gpu_extras.batch import batch_for_shader
@@ -80,16 +81,14 @@ def draw_lines(face_data):
             coords.append((start[0], start[1]))
             coords.append((end[0], end[1]))
 
-    # Use '2D_UNIFORM_COLOR' in the `batch_for_shader` so we don't need to
-    # convert the coordinates to 3D as in the case of
-    # '3D_POLYLINE_UNIFORM_COLOR'.
-    batch = batch_for_shader(gpu.shader.from_builtin('2D_UNIFORM_COLOR'), 'LINES', {"pos": coords})
-    shader = gpu.shader.from_builtin('3D_POLYLINE_UNIFORM_COLOR')
+    shader = gpu.shader.from_builtin('2D_UNIFORM_COLOR')
     shader.bind()
-    shader.uniform_float("viewportSize", gpu.state.viewport_get()[2:])
-    shader.uniform_float("lineWidth", 0.5)
     shader.uniform_float("color", (0, 0, 0, 1))
+    batch = batch_for_shader(shader, 'LINES', {"pos": coords})
+
+    bgl.glEnable(bgl.GL_LINE_SMOOTH)
     batch.draw(shader)
+    bgl.glDisable(bgl.GL_LINE_SMOOTH)
 
 
 def save_pixels(filepath, pixel_data, width, height):