Merge branch 'develop'
diff --git a/README.md b/README.md
index 3bdc167..6566db4 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,10 @@
 
 ### develop
 
+### v0.3.2
+
+- Fix incorrect top items in batchPredict() (issue #5)
+
 ### v0.3.1
 
 - Add Evaluation module and modify DataSource for it
diff --git a/src/main/scala/ALSAlgorithm.scala b/src/main/scala/ALSAlgorithm.scala
index 60282db..ad9a050 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -115,17 +115,17 @@
     val userRatings: RDD[(Int, Iterable[MLlibRating])] = ratings.groupBy(_.user)
 
     userIxQueries.leftOuterJoin(userRatings)
-    .map { 
+    .map {
       // When there are ratings
       case (userIx, ((ix, query), Some(ratings))) => {
         val topItemScores: Array[ItemScore] = ratings
         .toArray
-        .sortBy(_.rating)
+        .sortBy(_.rating)(Ordering.Double.reverse) // note: from large to small ordering
         .take(query.num)
         .map { rating => ItemScore(
           model.itemStringIntMap.inverse(rating.product),
           rating.rating) }
-          
+
         (ix, PredictedResult(itemScores = topItemScores))
       }
       // When user doesn't exist in training data