diff --git a/functional_tests/test_services.py b/functional_tests/test_services.py
index ae197ba..faab6cf 100644
--- a/functional_tests/test_services.py
+++ b/functional_tests/test_services.py
@@ -13,13 +13,9 @@
 __author__ = 'ade@google.com (Ade Oshineye)'
 
 from apiclient.discovery import build
-
 import logging
 import unittest
 
-logging.basicConfig(level=logging.DEBUG)
-
-
 class BuzzFunctionalTest(unittest.TestCase):
   def test_can_get_buzz_activities_with_many_params(self):
     buzz = build('buzz', 'v1')
@@ -35,5 +31,17 @@
     activity_count = len(activities['items'])
     self.assertEquals(max_results, activity_count)
 
+  def test_can_page_through_users_activities(self):
+    buzz = build('buzz', 'v1')
+    max_results = 2
+    actcol = buzz.activities()
+    
+    activities = actcol.list(userId='adewale', scope='@self',
+                             max_results=max_results).execute()
+    for count in range(10):
+      activities = actcol.list_next(activities).execute()
+      activity_count = len(activities['items'])
+      self.assertEquals(max_results, activity_count, 'Failed after %s pages' % str(count))
+
 if __name__ == '__main__':
   unittest.main()
