diff --git a/api/handlers/listhandler.py b/api/handlers/listhandler.py
index 5da8dd75464f8f27c45a6213ea5d5c9b026be5e3..fb2d51803d736d48b1b7a5e915596a086b2fc100 100644
--- a/api/handlers/listhandler.py
+++ b/api/handlers/listhandler.py
@@ -229,6 +229,7 @@ class PermissionsListHandler(ListHandler):
         payload['_id'] = kwargs.get('_id')
         if cont_name == 'groups' and self.request.params.get('propagate') =='true':
             self._propagate_permissions(cont_name, _id, query={'permissions._id' : payload['_id']}, update={'$set': {'permissions.$.access': payload['access']}})
+            self._propagate_permissions(cont_name, _id, query={'permissions._id': {'$ne': payload['_id']}}, update={'$addToSet': {'permissions': payload}})
         elif cont_name != 'groups':
             self._propagate_permissions(cont_name, _id)
         return result
diff --git a/test/integration_tests/python/test_propagation.py b/test/integration_tests/python/test_propagation.py
index 735cdb9bb899b8084e2388b1514493ccf387b105..81c8cb58002a70e1a587e8eb71a6df4f2fe0ea30 100644
--- a/test/integration_tests/python/test_propagation.py
+++ b/test/integration_tests/python/test_propagation.py
@@ -212,6 +212,12 @@ def test_add_and_remove_user_group_permission(data_builder, as_admin):
     r = as_admin.post('/groups/' + group + '/permissions', json=payload, params={'propagate': 'true'})
     assert r.ok
 
+    # Add project without default group perms
+    r = as_admin.post('/projects', params={'inherit': 'false'}, json={'label': 'project2', 'group': group})
+    assert r.ok
+    project2 = r.json()['_id']
+
+
     r = as_admin.get('/groups/' + group)
     perms = r.json()['permissions']
     user = get_user_in_perms(perms, user_id)
@@ -248,6 +254,11 @@ def test_add_and_remove_user_group_permission(data_builder, as_admin):
     user = get_user_in_perms(perms, user_id)
     assert r.ok and user and user['access'] == 'rw'
 
+    r = as_admin.get('/projects/' + project2)
+    perms = r.json()['permissions']
+    user = get_user_in_perms(perms, user_id)
+    assert r.ok and user and user['access'] == 'rw'
+
     r = as_admin.get('/sessions/' + session)
     perms = r.json()['permissions']
     user = get_user_in_perms(perms, user_id)
@@ -282,6 +293,10 @@ def test_add_and_remove_user_group_permission(data_builder, as_admin):
     user = get_user_in_perms(perms, user_id)
     assert r.ok and user is None
 
+    # Delete empty project 2
+    r= as_admin.delete('/projects/' + project2)
+    assert r.ok
+
 # Test tag pool renaming and deletion
 def test_add_rename_remove_group_tag(data_builder, as_admin):
     """