diff --git a/django/contrib/comments/urls.py b/django/contrib/comments/urls.py
index ae0b7ff..151f253 100644
--- a/django/contrib/comments/urls.py
+++ b/django/contrib/comments/urls.py
@@ -13,6 +13,6 @@ urlpatterns = patterns('django.contrib.comments.views',
 )
 
 urlpatterns += patterns('',
-    url(r'^cr/(\d+)/(\w+)/$', 'django.views.defaults.shortcut', name='comments-url-redirect'),
+    url(r'^cr/(\d+)/((\w|-)+)/$', 'django.views.defaults.shortcut', name='comments-url-redirect'),
 )
 
diff --git a/tests/regressiontests/comment_tests/fixtures/comment_utils.xml b/tests/regressiontests/comment_tests/fixtures/comment_utils.xml
index a39bbf6..d874ab5 100644
--- a/tests/regressiontests/comment_tests/fixtures/comment_utils.xml
+++ b/tests/regressiontests/comment_tests/fixtures/comment_utils.xml
@@ -12,4 +12,7 @@
       <field type="DateField" name="pub_date">2008-01-02</field>
       <field type="BooleanField" name="enable_comments">False</field>
   </object>
+  <object pk="1" model="comment_tests.slugpost">
+      <field type="SlugField" name="slug">test-this</field>
+  </object>
 </django-objects>
diff --git a/tests/regressiontests/comment_tests/models.py b/tests/regressiontests/comment_tests/models.py
index 62f4168..e66fc75 100644
--- a/tests/regressiontests/comment_tests/models.py
+++ b/tests/regressiontests/comment_tests/models.py
@@ -28,3 +28,12 @@ class Entry(models.Model):
 
     def __str__(self):
         return self.title
+
+class SlugPost(models.Model):
+    """A Post like model whos PK is a slug"""
+    slug = models.SlugField(primary_key=True,max_length=100)
+    
+    def __str__(self):
+        return self.slug
+    
+    
\ No newline at end of file
diff --git a/tests/regressiontests/comment_tests/tests/__init__.py b/tests/regressiontests/comment_tests/tests/__init__.py
index 449fea4..7ceabfc 100644
--- a/tests/regressiontests/comment_tests/tests/__init__.py
+++ b/tests/regressiontests/comment_tests/tests/__init__.py
@@ -4,7 +4,7 @@ from django.contrib.comments.models import Comment
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.sites.models import Site
 from django.test import TestCase
-from regressiontests.comment_tests.models import Article, Author
+from regressiontests.comment_tests.models import Article, Author, SlugPost
 
 # Shortcut
 CT = ContentType.objects.get_for_model
@@ -55,6 +55,7 @@ class CommentTestCase(TestCase):
             comment = "Damn, I wanted to be first.",
             site = Site.objects.get_current(),
         )
+        
         c4 = Comment.objects.create(
             content_type = CT(Author),
             object_pk = "2",
@@ -63,8 +64,17 @@ class CommentTestCase(TestCase):
             comment = "You get here first, too?",
             site = Site.objects.get_current(),
         )
+        
+        c5 = Comment.objects.create(
+            content_type = CT(SlugPost),
+            object_pk = "test-this",
+            user = user,
+            user_url = "http://example.com/~frank/",
+            comment = "Wonder how the slugs work",
+            site = Site.objects.get_current(),
+        )
 
-        return c1, c2, c3, c4
+        return c1, c2, c3, c4, c5
 
     def getData(self):
         return {
diff --git a/tests/regressiontests/comment_tests/tests/comment_view_tests.py b/tests/regressiontests/comment_tests/tests/comment_view_tests.py
index 312fab6..0ee2e61 100644
--- a/tests/regressiontests/comment_tests/tests/comment_view_tests.py
+++ b/tests/regressiontests/comment_tests/tests/comment_view_tests.py
@@ -3,7 +3,8 @@ from django.conf import settings
 from django.contrib.auth.models import User
 from django.contrib.comments import signals
 from django.contrib.comments.models import Comment
-from regressiontests.comment_tests.models import Article
+from django.core import urlresolvers
+from regressiontests.comment_tests.models import Article, SlugPost
 from regressiontests.comment_tests.tests import CommentTestCase
 
 post_redirect_re = re.compile(r'^http://testserver/posted/\?c=(?P<pk>\d+$)')
@@ -206,4 +207,13 @@ class CommentViewTests(CommentTestCase):
         response = self.client.get(location)
         self.assertTemplateUsed(response, "comments/posted.html")
         self.assertEqual(response.context[0]["comment"], Comment.objects.get(pk=pk))
-
+        
+    #----------------------------------------------------------------------
+    def testCommentUrlLookup(self):
+        """"""
+        c1, c2, c3, c4, c5 = self.createSomeComments()
+        c5.save()
+        sp = Comment.objects.get(object_pk='test-this')
+        url = urlresolvers.reverse("comments-url-redirect", 
+                                   args=(c5.content_type_id, c5.object_pk))
+        self.assertEqual(url,'/cr/%i/%s/' % (c5.content_type_id,c5.object_pk) )
diff --git a/tests/regressiontests/comment_tests/tests/model_tests.py b/tests/regressiontests/comment_tests/tests/model_tests.py
index 17797bb..99e6d08 100644
--- a/tests/regressiontests/comment_tests/tests/model_tests.py
+++ b/tests/regressiontests/comment_tests/tests/model_tests.py
@@ -9,7 +9,7 @@ class CommentModelTests(CommentTestCase):
             self.failIfEqual(c.submit_date, None)
 
     def testUserProperties(self):
-        c1, c2, c3, c4 = self.createSomeComments()
+        c1, c2, c3, c4, c5 = self.createSomeComments()
         self.assertEqual(c1.name, "Joe Somebody")
         self.assertEqual(c2.email, "jsomebody@example.com")
         self.assertEqual(c3.name, "Frank Nobody")
@@ -21,7 +21,7 @@ class CommentManagerTests(CommentTestCase):
 
     def testInModeration(self):
         """Comments that aren't public are considered in moderation"""
-        c1, c2, c3, c4 = self.createSomeComments()
+        c1, c2, c3, c4, c5 = self.createSomeComments()
         c1.is_public = False
         c2.is_public = False
         c1.save()
@@ -31,7 +31,7 @@ class CommentManagerTests(CommentTestCase):
 
     def testRemovedCommentsNotInModeration(self):
         """Removed comments are not considered in moderation"""
-        c1, c2, c3, c4 = self.createSomeComments()
+        c1, c2, c3, c4, c5 = self.createSomeComments()
         c1.is_public = False
         c2.is_public = False
         c2.is_removed = True
@@ -41,7 +41,7 @@ class CommentManagerTests(CommentTestCase):
         self.assertEqual(moderated_comments, [c1])
 
     def testForModel(self):
-        c1, c2, c3, c4 = self.createSomeComments()
+        c1, c2, c3, c4, c5 = self.createSomeComments()
         article_comments = list(Comment.objects.for_model(Article).order_by("id"))
         author_comments = list(Comment.objects.for_model(Author.objects.get(pk=1)))
         self.assertEqual(article_comments, [c1, c3])
diff --git a/tests/regressiontests/comment_tests/tests/moderation_view_tests.py b/tests/regressiontests/comment_tests/tests/moderation_view_tests.py
index b9eadd7..739c7d6 100644
--- a/tests/regressiontests/comment_tests/tests/moderation_view_tests.py
+++ b/tests/regressiontests/comment_tests/tests/moderation_view_tests.py
@@ -130,7 +130,7 @@ class ApproveViewTests(CommentTestCase):
 
     def testApprovePost(self):
         """POSTing the delete view should mark the comment as removed"""
-        c1, c2, c3, c4 = self.createSomeComments()
+        c1, c2, c3, c4, c5 = self.createSomeComments()
         c1.is_public = False; c1.save()
 
         makeModerator("normaluser")
@@ -174,7 +174,7 @@ class ModerationQueueTests(CommentTestCase):
 
     def testModerationQueueContents(self):
         """Moderation queue should display non-public, non-removed comments."""
-        c1, c2, c3, c4 = self.createSomeComments()
+        c1, c2, c3, c4, c5 = self.createSomeComments()
         makeModerator("normaluser")
         self.client.login(username="normaluser", password="normaluser")
 
diff --git a/tests/regressiontests/comment_tests/tests/templatetag_tests.py b/tests/regressiontests/comment_tests/tests/templatetag_tests.py
index a1187ca..ae400f2 100644
--- a/tests/regressiontests/comment_tests/tests/templatetag_tests.py
+++ b/tests/regressiontests/comment_tests/tests/templatetag_tests.py
@@ -52,7 +52,7 @@ class CommentTemplateTagTests(CommentTestCase):
         self.testGetCommentCount("{% get_comment_count for a as cc %}")
 
     def testGetCommentList(self, tag=None):
-        c1, c2, c3, c4 = self.createSomeComments()
+        c1, c2, c3, c4, c5 = self.createSomeComments()
         t = "{% load comments %}" + (tag or "{% get_comment_list for comment_tests.author a.id as cl %}")
         ctx, out = self.render(t, a=Author.objects.get(pk=1))
         self.assertEqual(out, "")
