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,6 +21,7 @@
 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;
@@ -307,7 +308,7 @@
   private String[] getYearsToClose(Date startingDate, String strOrg, Calendar calendar,
       String strcAcctSchemaId, boolean isYearRef) {
     String openingEntryOwner = "";
-    Set<Year> previousYears = getOrderedPreviousYears(startingDate, calendar);
+    ArrayList<Year> previousYears = getOrderedPreviousYears(startingDate, calendar);
     Set<String> notClosedYears = new HashSet<String>();
     for (Year previousYear : previousYears) {
       for (Organization org : getCalendarOwnerOrgs(strOrg)) {
@@ -351,9 +352,9 @@
     }
   }
 
-  private Set<Year> getOrderedPreviousYears(Date startingDate, Calendar calendar) {
+  private ArrayList<Year> getOrderedPreviousYears(Date startingDate, Calendar calendar) {
     final StringBuilder hqlString = new StringBuilder();
-    Set<Year> result = new HashSet<Year>();
+    ArrayList<Year> result = new ArrayList<Year>();
     hqlString.append("select y");
     hqlString.append(" from FinancialMgmtYear y, FinancialMgmtPeriod as p");
     hqlString
@@ -364,7 +365,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;
   }
