diff --git a/examples/linearbandwidth.py b/examples/linearbandwidth.py
index 90ca2ed088f25a3483bc1f8fd88f1355ec0224f1..24776101c10e72908a592d00068c22200b9b5c19 100755
--- a/examples/linearbandwidth.py
+++ b/examples/linearbandwidth.py
@@ -24,10 +24,12 @@
 """
 
 from mininet.net import Mininet
-from mininet.node import OVSKernelSwitch, Controller
+from mininet.node import UserSwitch, OVSKernelSwitch, Controller
 from mininet.topo import Topo
 from mininet.log import lg
 from mininet.util import irange
+from mininet.link import TCLink
+from functools import partial
 
 import sys
 flush = sys.stdout.flush
@@ -67,15 +69,23 @@ def linearBandwidthTest( lengths ):
     switchCount = max( lengths )
     hostCount = switchCount + 1
 
-    switches = { 'Open vSwitch kernel': OVSKernelSwitch }
+    switches = { 'reference user': UserSwitch,
+                 'Open vSwitch kernel': OVSKernelSwitch }
 
     topo = LinearTestTopo( hostCount )
 
     for datapath in switches.keys():
+        # we can remove this later when/if the userswitch is fixed
+        if switches[ datapath ] is UserSwitch:
+            print "*** Skipping User Switch due to poor performance"
+            continue
         print "*** testing", datapath, "datapath"
         Switch = switches[ datapath ]
         results[ datapath ] = []
-        net = Mininet( topo=topo, switch=Switch, controller=Controller, waitConnected=True )
+        link = partial( TCLink, delay='1ms' )
+        net = Mininet( topo=topo, switch=Switch,
+                       controller=Controller, waitConnected=True,
+                       link=link )
         net.start()
         print "*** testing basic connectivity"
         for n in lengths: