diff --git a/serial/urlhandler/protocol_loop.py b/serial/urlhandler/protocol_loop.py
index 5bba4d3..7bf6cf9 100644
--- a/serial/urlhandler/protocol_loop.py
+++ b/serial/urlhandler/protocol_loop.py
@@ -189,8 +189,8 @@
             # must wait so that unit test succeeds
             time_left = self._write_timeout
             while time_left > 0 and not self._cancel_write:
-                time.sleep(min(time_left, 1))
-                time_left -= 1
+                time.sleep(min(time_left, 0.5))
+                time_left -= 0.5
             if self._cancel_write:
                 return 0  # XXX
             raise writeTimeoutError
diff --git a/test/test_cancel.py b/test/test_cancel.py
index ce030a3..daab1ce 100644
--- a/test/test_cancel.py
+++ b/test/test_cancel.py
@@ -45,7 +45,7 @@
         self.s.read(1000)
         t2 = time.time()
         self.assertEqual(self.cancel_called, 1)
-        self.assertTrue(0.5 < (t2 - t1) < 2, 'Function did not return in time: {}'.format(t2 - t1))
+        self.assertTrue(0.5 < (t2 - t1) < 2.5, 'Function did not return in time: {}'.format(t2 - t1))
         #~ self.assertTrue(not self.s.isOpen())
         #~ self.assertRaises(serial.SerialException, self.s.open)
 
@@ -89,7 +89,7 @@
         self.s.write(DATA)
         t2 = time.time()
         self.assertEqual(self.cancel_called, 1)
-        self.assertTrue(0.5 < (t2 - t1) < 2, 'Function did not return in time: {}'.format(t2 - t1))
+        self.assertTrue(0.5 < (t2 - t1) < 2.5, 'Function did not return in time: {}'.format(t2 - t1))
         #~ self.assertTrue(not self.s.isOpen())
         #~ self.assertRaises(serial.SerialException, self.s.open)
 
