Bug #1541863: uuid.uuid1 failed to generate unique identifiers
on systems with low clock resolution.
diff --git a/Lib/test/test_uuid.py b/Lib/test/test_uuid.py
index 06ec51d..90671be 100644
--- a/Lib/test/test_uuid.py
+++ b/Lib/test/test_uuid.py
@@ -429,7 +429,7 @@
 
         # Make sure the generated UUIDs are actually unique.
         uuids = {}
-        for u in [uuid.uuid1() for i in range(1000)]:
+        for u in [uuid.uuid4() for i in range(1000)]:
             uuids[u] = 1
         equal(len(uuids.keys()), 1000)
 
diff --git a/Lib/uuid.py b/Lib/uuid.py
index 684bbeb..ae3da25 100644
--- a/Lib/uuid.py
+++ b/Lib/uuid.py
@@ -488,8 +488,8 @@
     # 0x01b21dd213814000 is the number of 100-ns intervals between the
     # UUID epoch 1582-10-15 00:00:00 and the Unix epoch 1970-01-01 00:00:00.
     timestamp = int(nanoseconds/100) + 0x01b21dd213814000L
-    if timestamp == _last_timestamp:
-        timestamp += 1
+    if timestamp <= _last_timestamp:
+        timestamp = _last_timestamp + 1
     _last_timestamp = timestamp
     if clock_seq is None:
         import random
diff --git a/Misc/NEWS b/Misc/NEWS
index d9bff35..1f96071 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -9,6 +9,12 @@
 
 *Release date: XX-SEP-2006*
 
+Library
+-------
+
+- Bug #1541863: uuid.uuid1 failed to generate unique identifiers
+  on systems with low clock resolution.
+
 Build
 -----