diff --git a/tests/regressiontests/syndication/feeds.py b/tests/regressiontests/syndication/feeds.py
index 79837f9..098cd27 100644
--- a/tests/regressiontests/syndication/feeds.py
+++ b/tests/regressiontests/syndication/feeds.py
@@ -16,13 +16,15 @@ class TestRssFeed(feeds.Feed):
     def items(self):
         from models import Entry
         return Entry.objects.all()
-        
-    def item_link(self, item):
-        return "/blog/%s/" % item.pk
 
 class TestAtomFeed(TestRssFeed):
     feed_type = Atom1Feed
 
+class ArticlesFeed(TestRssFeed):
+    def items(self):
+        from models import Article
+        return Article.objects.all()
+
 class MyCustomAtom1Feed(Atom1Feed):
     """
     Test of a custom feed generator class.
diff --git a/tests/regressiontests/syndication/fixtures/feeddata.json b/tests/regressiontests/syndication/fixtures/feeddata.json
index 375ee16..fdc373d 100644
--- a/tests/regressiontests/syndication/fixtures/feeddata.json
+++ b/tests/regressiontests/syndication/fixtures/feeddata.json
@@ -30,5 +30,13 @@
       "title": "A & B < C > D",
       "date": "2008-01-03 13:30:00"
     }
+  },
+  {
+    "model": "syndication.article",
+    "pk": 1,
+    "fields": {
+      "title": "My first article",
+      "entry": "1"
+    }
   }
 ]
\ No newline at end of file
diff --git a/tests/regressiontests/syndication/models.py b/tests/regressiontests/syndication/models.py
index 99e14ad..02b5e56 100644
--- a/tests/regressiontests/syndication/models.py
+++ b/tests/regressiontests/syndication/models.py
@@ -5,4 +5,14 @@ class Entry(models.Model):
     date = models.DateTimeField()
     
     def __unicode__(self):
-        return self.title
\ No newline at end of file
+        return self.title
+
+    def get_absolute_url(self):
+        return "/blog/%s/" % self.pk
+
+class Article(models.Model):
+    title = models.CharField(max_length=200)
+    entry = models.ForeignKey(Entry)
+
+    def __unicode__(self):
+        return self.title
diff --git a/tests/regressiontests/syndication/tests.py b/tests/regressiontests/syndication/tests.py
index 816cb44..a0bce64 100644
--- a/tests/regressiontests/syndication/tests.py
+++ b/tests/regressiontests/syndication/tests.py
@@ -2,6 +2,7 @@
 
 import datetime
 from xml.dom import minidom
+from django.core.exceptions import ImproperlyConfigured
 from django.test import TestCase
 from django.test.client import Client
 from django.utils import tzinfo
@@ -77,7 +78,7 @@ class SyndicationFeedTest(TestCase):
         
     def test_complex_base_url(self):
         """
-        Tests that that the base url for a complex feed doesn't raise a 500
+        Tests that the base url for a complex feed doesn't raise a 500
         exception.
         """
         response = self.client.get('/syndication/feeds/complex/')
@@ -116,4 +117,26 @@ class SyndicationFeedTest(TestCase):
         doc = minidom.parseString(response.content)
         updated = doc.getElementsByTagName('updated')[0].firstChild.wholeText
         self.assertEqual(updated[-6:], '+00:42')
-        
\ No newline at end of file
+
+    def test_empty_feed_dict(self):
+        """
+        Test that an empty feed_dict raises a 404.
+        """
+        response = self.client.get('/syndication/feeds2/aware-dates/')
+        self.assertEquals(response.status_code, 404)
+
+    def test_nonexistent_slug(self):
+        """
+        Test that a non-existent slug raises a 404.
+        """
+        response = self.client.get('/syndication/feeds/foobar/')
+        self.assertEquals(response.status_code, 404)
+
+    def test_item_link_error(self):
+        """
+        Test that a ImproperlyConfigured is raised if no link could be found
+        for the item(s).
+        """
+        self.assertRaises(ImproperlyConfigured,
+                          self.client.get,
+                          '/syndication/feeds/articles/')
diff --git a/tests/regressiontests/syndication/urls.py b/tests/regressiontests/syndication/urls.py
index ec45026..7339fa9 100644
--- a/tests/regressiontests/syndication/urls.py
+++ b/tests/regressiontests/syndication/urls.py
@@ -7,8 +7,10 @@ feed_dict = {
     'atom': feeds.TestAtomFeed,
     'custom': feeds.TestCustomFeed,
     'naive-dates': feeds.NaiveDatesFeed,
-    'aware-dates': feeds.TZAwareDatesFeed,    
+    'aware-dates': feeds.TZAwareDatesFeed,
+    'articles': feeds.ArticlesFeed,
 }
 urlpatterns = patterns('',
-    (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feed_dict})
+    (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feed_dict}),
+    (r'^feeds2/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': None})
 )
