=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/user/CurrentUserController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/user/CurrentUserController.java 2013-11-19 14:33:28 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/user/CurrentUserController.java 2013-11-19 15:20:52 +0000 @@ -467,17 +467,25 @@ if ( parameters.containsKey( "includeDescendants" ) && Boolean.parseBoolean( parameters.get( "includeDescendants" ) ) ) { + List children = new ArrayList(); + for ( OrganisationUnit organisationUnit : userOrganisationUnits ) { - userOrganisationUnits.addAll( organisationUnitService.getOrganisationUnitsWithChildren( organisationUnit.getUid() ) ); + children.addAll( organisationUnitService.getOrganisationUnitsWithChildren( organisationUnit.getUid() ) ); } + + userOrganisationUnits.addAll( children ); } else { + List children = new ArrayList(); + for ( OrganisationUnit organisationUnit : userOrganisationUnits ) { - userOrganisationUnits.addAll( organisationUnit.getChildren() ); + children.addAll( organisationUnit.getChildren() ); } + + userOrganisationUnits.addAll( children ); } for ( OrganisationUnit ou : userOrganisationUnits )