diff --git a/src/vnet/pg/input.c b/src/vnet/pg/input.c
index 483add0..6968cce 100644
--- a/src/vnet/pg/input.c
+++ b/src/vnet/pg/input.c
@@ -1537,7 +1537,6 @@
     {
       vlib_buffer_t *b0 = vlib_get_buffer (vm, buffers[i]);
       u8 l4_proto = 0;
-      u8 l4_hdr_sz = 0;
 
       ethernet_header_t *eh =
 	(ethernet_header_t *) vlib_buffer_get_current (b0);
@@ -1589,25 +1588,21 @@
       if (l4_proto == IP_PROTOCOL_TCP)
 	{
 	  b0->flags |= VNET_BUFFER_F_OFFLOAD_TCP_CKSUM;
-	  tcp_header_t *tcp = (tcp_header_t *) (vlib_buffer_get_current (b0) +
-						vnet_buffer
-						(b0)->l4_hdr_offset);
-	  tcp->checksum = 0;
-	  if (gso_enabled)
+
+	  /* only set GSO flag for chained buffers */
+	  if (gso_enabled && (b0->flags & VLIB_BUFFER_NEXT_PRESENT))
 	    {
 	      b0->flags |= VNET_BUFFER_F_GSO;
-	      l4_hdr_sz = tcp_header_bytes (tcp);
-	      vnet_buffer2 (b0)->gso_l4_hdr_sz = l4_hdr_sz;
+	      tcp_header_t *tcp =
+		(tcp_header_t *) (vlib_buffer_get_current (b0) +
+				  vnet_buffer (b0)->l4_hdr_offset);
+	      vnet_buffer2 (b0)->gso_l4_hdr_sz = tcp_header_bytes (tcp);
 	      vnet_buffer2 (b0)->gso_size = gso_size;
 	    }
 	}
       else if (l4_proto == IP_PROTOCOL_UDP)
 	{
 	  b0->flags |= VNET_BUFFER_F_OFFLOAD_UDP_CKSUM;
-	  udp_header_t *udp = (udp_header_t *) (vlib_buffer_get_current (b0) +
-						vnet_buffer
-						(b0)->l4_hdr_offset);
-	  udp->checksum = 0;
 	}
     }
 }
diff --git a/src/vnet/pg/pg.api b/src/vnet/pg/pg.api
index ad44bee..86343d5 100644
--- a/src/vnet/pg/pg.api
+++ b/src/vnet/pg/pg.api
@@ -26,7 +26,7 @@
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param interface_id - interface index
-    @param enable_gso - enable gso on this interface
+    @param gso_enabled - enable gso on this interface
     @param gso_size - gso size on this interface
 */
 define pg_create_interface
diff --git a/test/test_gso.py b/test/test_gso.py
index 7189104..ba83004 100644
--- a/test/test_gso.py
+++ b/test/test_gso.py
@@ -371,7 +371,7 @@
             self.assertEqual(rx[IP].src, self.pg0.local_ip4)
             self.assertEqual(rx[IP].dst, self.pg0.remote_ip4)
             self.assert_ip_checksum_valid(rx)
-            self.assert_udp_checksum_valid(rx)
+            self.assert_udp_checksum_valid(rx, ignore_zero_checksum=False)
             self.assertEqual(rx[VXLAN].vni, 10)
             inner = rx[VXLAN].payload
             self.assertEqual(rx[IP].len - 20 - 8 - 8, len(inner))
@@ -402,7 +402,7 @@
             self.assertEqual(rx[IP].src, self.pg0.local_ip4)
             self.assertEqual(rx[IP].dst, self.pg0.remote_ip4)
             self.assert_ip_checksum_valid(rx)
-            self.assert_udp_checksum_valid(rx)
+            self.assert_udp_checksum_valid(rx, ignore_zero_checksum=False)
             self.assertEqual(rx[VXLAN].vni, 10)
             inner = rx[VXLAN].payload
             self.assertEqual(rx[IP].len - 20 - 8 - 8, len(inner))
