=== modified file 'organizer/qorganizer-eds-engine.cpp'
--- organizer/qorganizer-eds-engine.cpp	2014-10-09 03:39:33 +0000
+++ organizer/qorganizer-eds-engine.cpp	2015-01-06 14:05:12 +0000
@@ -1999,11 +1999,20 @@
                     break;
             }
 
-            if (qRule.limitDate().isValid()) {
-                rule->until = icaltime_from_timet(QDateTime(qRule.limitDate()).toTime_t(), TRUE);
+            switch (qRule.limitType()) {
+            case QOrganizerRecurrenceRule::DateLimit:
+                if (qRule.limitDate().isValid()) {
+                    rule->until = icaltime_from_timet(QDateTime(qRule.limitDate()).toTime_t(), TRUE);
+                }
+                break;
+            case QOrganizerRecurrenceRule::CountLimit:
+                if (qRule.limitCount() > 0) {
+                    rule->count = qRule.limitCount();
+                }
+                break;
+            case QOrganizerRecurrenceRule::NoLimit:
+            default:
                 rule->count = ICAL_RECURRENCE_ARRAY_MAX;
-            } else if (qRule.limitCount() > 0) {
-                rule->count = qRule.limitCount();
             }
 
             QSet<int> positions = qRule.positions();

=== modified file 'tests/unittest/recurrence-test.cpp'
--- tests/unittest/recurrence-test.cpp	2014-10-06 18:07:08 +0000
+++ tests/unittest/recurrence-test.cpp	2015-01-06 14:05:12 +0000
@@ -171,7 +171,7 @@
         filter.setCollectionId(m_collection.id());
         items = m_engine->items(filter,
                                 QDateTime(QDate(2013, 11, 30), QTime(0,0,0)),
-                                QDateTime(QDate(2014, 1, 1), QTime(0,0,0)),
+                                QDateTime(QDate(2015, 1, 1), QTime(0,0,0)),
                                 100,
                                 sort,
                                 hint,

