diff --git a/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java b/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java index 0547d8c3d..c5367427c 100644 --- a/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java +++ b/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java @@ -560,11 +560,12 @@ private void loadParentAccountList(AccountType accountType){ if (mAccount != null){ //if editing an account mDescendantAccountUIDs = mAccountsDbAdapter.getDescendantAccountUIDs(mAccount.getUID(), null, null); String rootAccountUID = mAccountsDbAdapter.getGnuCashRootAccountUID(); + List descendantAccountUIDs = new ArrayList(mDescendantAccountUIDs); if (rootAccountUID != null) - mDescendantAccountUIDs.add(rootAccountUID); + descendantAccountUIDs.add(rootAccountUID); // limit cyclic account hierarchies. condition += " AND (" + DatabaseSchema.AccountEntry.COLUMN_UID + " NOT IN ( '" - + TextUtils.join("','", mDescendantAccountUIDs) + "','" + mAccountUID + "' ) )"; + + TextUtils.join("','", descendantAccountUIDs) + "','" + mAccountUID + "' ) )"; } //if we are reloading the list, close the previous cursor first