I had the same issue here and fixed it.
The problem is, that the user created by the ldap module gets an id as a person and as an object.
The grouping done by the ldap script uses the person id when it should have used the object id. this is the issue.
As I have said I fixed this.
You need to edit the file src/classes/modules/isys_module_ldap.class.php
in line 219 right before the line saying
if (is_numeric($l_user_id) && $l_user_id > 0) {
you have to add these three lines of code
$matches = array();
preg_match('/isys_cats_person_list__isys_obj__id = '(\d+)'/', print_r($l_user_dao,true), $matches);
$l_user_id = intval($matches[1]);
okay, it might not be the nicest solution, but it works. The cleanest way would be to get the object id out of the database, found in table "isys_cats_person_list"
but I didn't have time for searching whether such a function exists or how to write that.
Hope it helps anybody and maybe some of the developers that are deeper involved in this project can improve this bugfix.