Index: MappedStatement.cs
===================================================================
--- MappedStatement.cs	(revision 1498)
+++ MappedStatement.cs	(working copy)
@@ -551,12 +551,30 @@
                     {
                         if (rowDelegate == null)
                         {
+                            IList currentList;
+                            if (request.Statement.ResultsMap.Count == 1)
+                            {
+                                currentList = list;
+                            }
+                            else
+                            {
+                                if (request.CurrentResultMap != null)
+                                {
+                                    Type genericListType = typeof (List<>).MakeGenericType(new Type[] {request.CurrentResultMap.Class});
+                                    currentList = (IList)Activator.CreateInstance(genericListType);
+                                }else
+                                {
+                                    currentList = new ArrayList();
+                                }
+                                list.Add(currentList);
+                                
+                            }
                             while (reader.Read())
                             {
                                 object obj = _resultStrategy.Process(request, ref reader, null);
                                 if (obj != BaseStrategy.SKIP)
                                 {
-                                    list.Add(obj);
+                                    currentList.Add(obj);
                                 }
                             }
                         }
