diff --git a/src/org/openbravo/erpCommon/ad_reports/GeneralAccountingReports.java b/src/org/openbravo/erpCommon/ad_reports/GeneralAccountingReports.java
--- a/src/org/openbravo/erpCommon/ad_reports/GeneralAccountingReports.java
+++ b/src/org/openbravo/erpCommon/ad_reports/GeneralAccountingReports.java
@@ -21,9 +21,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import javax.servlet.ServletException;
@@ -304,7 +306,7 @@
 
   private String getYearsToClose(Date startingDate, String strOrg, Calendar calendar,
       String strcAcctSchemaId, boolean isYearRef) {
-    Set<Year> previousYears = getOrderedPreviousYears(startingDate, calendar);
+    List<Year> previousYears = getOrderedPreviousYears(startingDate, calendar);
     Set<String> notClosedYears = new HashSet<String>();
     for (Year previousYear : previousYears) {
       for (Organization org : getCalendarOwnerOrgs(strOrg)) {
@@ -351,9 +353,9 @@
     }
   }
 
-  private Set<Year> getOrderedPreviousYears(Date startingDate, Calendar calendar) {
+  private List<Year> getOrderedPreviousYears(Date startingDate, Calendar calendar) {
     final StringBuilder hqlString = new StringBuilder();
-    Set<Year> result = new HashSet<Year>();
+    List<Year> result = new ArrayList<Year>();
     hqlString.append("select y");
     hqlString.append(" from FinancialMgmtYear y, FinancialMgmtPeriod as p");
     hqlString
@@ -364,7 +366,9 @@
     query.setParameter("calendar", calendar);
     for (Object resultObject : query.list()) {
       final Year previousYear = (Year) resultObject;
-      result.add(previousYear);
+      if (!result.contains(previousYear)) {
+        result.add(previousYear);
+      }
     }
     return result;
   }
