In __getslice__, use self.__class__ instead of UserList.
diff --git a/Lib/UserList.py b/Lib/UserList.py
index 5dfd182..1d5065f 100644
--- a/Lib/UserList.py
+++ b/Lib/UserList.py
@@ -19,7 +19,7 @@
 	def __setitem__(self, i, item): self.data[i] = item
 	def __delitem__(self, i): del self.data[i]
 	def __getslice__(self, i, j):
-		userlist = UserList()
+		userlist = self.__class__()
 		userlist.data[:] = self.data[i:j]
 		return userlist
 	def __setslice__(self, i, j, list):