diff --git a/spark-spi/src/main/java/spark/spi/SolutionSet.java b/spark-spi/src/main/java/spark/spi/SolutionSet.java
index <HASH>..<HASH> 100644
--- a/spark-spi/src/main/java/spark/spi/SolutionSet.java
+++ b/spark-spi/src/main/java/spark/spi/SolutionSet.java
@@ -84,7 +84,7 @@ public class SolutionSet extends BaseResults implements Solutions {
   @Override
   public boolean next() {
     cursor++;
-    return cursor < (data.size() - 1);
+    return cursor < data.size();
   }
 
   @Override
@@ -111,7 +111,7 @@ public class SolutionSet extends BaseResults implements Solutions {
 
   
   private class SolutionIterator implements Iterator<Map<String,RDFNode>> {
-    int iterCursor = 0;
+    int iterCursor = -1;
     
     @Override
     public boolean hasNext() {
Fix a couple of off-by-one errors in the default SolutionSet implementation.