diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractTest.java
index 9e2810d177229c8a391fa106b8967f35e13ea584..07861d11b78329bf3dbe2988d15eb518b50a10fb 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractTest.java
@@ -128,6 +128,8 @@ public class AbstractTest extends SystemTestCase
 
     protected static final String TEST_GROUP_OBSERVER = "observer";
 
+    protected static final String TEST_INSTANCE_OBSERVER = "instance_observer";
+
     protected static final String TEST_OBSERVER_CISD = "observer_cisd";
 
     protected static final String TEST_GROUP_POWERUSER = "poweruser";
@@ -685,14 +687,17 @@ public class AbstractTest extends SystemTestCase
             assertNotNull(e.getCause());
             assertEquals(e.getCause().getClass(), UnauthorizedObjectAccessException.class);
 
-            List<? extends IObjectId> objectIds = ((UnauthorizedObjectAccessException) e.getCause()).getObjectIds();
-            if (objectIds != null)
-            {
-                assertEquals(true, objectIds.contains(expectedObjectId));
-            } else
+            if (expectedObjectId != null)
             {
-                IObjectId objectId = ((UnauthorizedObjectAccessException) e.getCause()).getObjectId();
-                assertEquals(objectId, expectedObjectId);
+                List<? extends IObjectId> objectIds = ((UnauthorizedObjectAccessException) e.getCause()).getObjectIds();
+                if (objectIds != null)
+                {
+                    assertEquals(true, objectIds.contains(expectedObjectId));
+                } else
+                {
+                    IObjectId objectId = ((UnauthorizedObjectAccessException) e.getCause()).getObjectId();
+                    assertEquals(objectId, expectedObjectId);
+                }
             }
 
             assertExceptionContext(e, expectedContextPattern);
diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteOperationExecutionTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteOperationExecutionTest.java
index 555677df731af7e74f165cd66b3e2ceee8e2ac3f..b3b62831933624ab119d2e6af00cef78b00c09d5 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteOperationExecutionTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteOperationExecutionTest.java
@@ -37,7 +37,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.fetchoptions.SpaceFetchOpt
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.get.GetSpacesOperation;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.SpacePermId;
 import ch.systemsx.cisd.common.action.IDelegatedAction;
-
 import junit.framework.Assert;
 
 /**
@@ -92,6 +91,34 @@ public class DeleteOperationExecutionTest extends AbstractOperationExecutionTest
             }, options.getExecutionId());
     }
 
+    @Test
+    public void testDeleteWithOperationExecutionUnauthorizedInstanceObserver()
+    {
+        String sessionTokenAdmin = v3api.login(TEST_USER, PASSWORD);
+
+        final SynchronousOperationExecutionOptions options = new SynchronousOperationExecutionOptions();
+        options.setExecutionId(new OperationExecutionPermId());
+
+        List<? extends IOperation> operations =
+                Arrays.asList(new GetSpacesOperation(Arrays.asList(new SpacePermId("CISD")), new SpaceFetchOptions()));
+
+        v3api.executeOperations(sessionTokenAdmin, operations, options);
+
+        assertUnauthorizedObjectAccessException(new IDelegatedAction()
+            {
+                @Override
+                public void execute()
+                {
+                    String sessionTokenUser = v3api.login(TEST_INSTANCE_OBSERVER, PASSWORD);
+
+                    OperationExecutionDeletionOptions deletionOptions = new OperationExecutionDeletionOptions();
+                    deletionOptions.setReason("test reason");
+
+                    v3api.deleteOperationExecutions(sessionTokenUser, Arrays.asList(options.getExecutionId()), deletionOptions);
+                }
+            }, options.getExecutionId());
+    }
+
     @Test
     public void testDeleteWithOperationExecutionNonexistent()
     {
diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateOperationExecutionTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateOperationExecutionTest.java
index bfe15c69ecadf1b4037de4d8f024caee63b481a5..91a82a3bf9d2f82762c7cb993ff8840df67a7615 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateOperationExecutionTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateOperationExecutionTest.java
@@ -43,7 +43,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.get.GetSpacesOperationResu
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.SpacePermId;
 import ch.systemsx.cisd.common.action.IDelegatedAction;
-
 import junit.framework.Assert;
 
 /**
@@ -275,4 +274,41 @@ public class UpdateOperationExecutionTest extends AbstractOperationExecutionTest
         Assert.assertEquals(update.getDescription().getValue(), executionAfter.getDescription());
     }
 
+    @Test
+    public void testUpdateWithDescriptionWithInstanceObserver()
+    {
+        String sessionToken = v3api.login(TEST_USER, PASSWORD);
+
+        final SynchronousOperationExecutionOptions options = new SynchronousOperationExecutionOptions();
+        options.setDescription("initial description");
+        options.setExecutionId(new OperationExecutionPermId());
+
+        List<? extends IOperation> operations =
+                Arrays.asList(new GetSpacesOperation(Arrays.asList(new SpacePermId("CISD")), new SpaceFetchOptions()));
+
+        v3api.executeOperations(sessionToken, operations, options);
+
+        assertUnauthorizedObjectAccessException(new IDelegatedAction()
+            {
+                @Override
+                public void execute()
+                {
+                    String sessionTokenInstance = v3api.login(TEST_INSTANCE_OBSERVER, PASSWORD);
+                    OperationExecution executionBefore =
+                            getExecution(sessionTokenInstance, options.getExecutionId(), new OperationExecutionFetchOptions());
+                    Assert.assertEquals(options.getDescription(), executionBefore.getDescription());
+
+                    OperationExecutionUpdate update = new OperationExecutionUpdate();
+                    update.setExecutionId(options.getExecutionId());
+                    update.setDescription("updated description");
+
+                    v3api.updateOperationExecutions(sessionTokenInstance, Arrays.asList(update));
+
+                    OperationExecution executionAfter =
+                            getExecution(sessionTokenInstance, options.getExecutionId(), new OperationExecutionFetchOptions());
+                    Assert.assertEquals(update.getDescription().getValue(), executionAfter.getDescription());
+                }
+            }, options.getExecutionId());
+    }
+
 }
diff --git a/openbis/sourceTest/sql/postgresql/159/045=persons.tsv b/openbis/sourceTest/sql/postgresql/159/045=persons.tsv
index 7111c207abe6c1691962831076b79d5341639fba..a61c959e37c03375a353ce7bb265b82b3c42df90 100644
--- a/openbis/sourceTest/sql/postgresql/159/045=persons.tsv
+++ b/openbis/sourceTest/sql/postgresql/159/045=persons.tsv
@@ -9,4 +9,5 @@
 9	John	Power User	poweruser	poweruser@o.o	1	2008-11-05 09:18:10.581+01	\N	\\xaced00057372004163682e73797374656d73782e636973642e6f70656e6269732e67656e657269632e7368617265642e62617369632e64746f2e446973706c617953657474696e677300000000000000010200035a001575736557696c64636172645365617263684d6f64654c000e636f6c756d6e53657474696e677374000f4c6a6176612f7574696c2f4d61703b4c000f73656374696f6e53657474696e677371007e0001787001737200176a6176612e7574696c2e4c696e6b6564486173684d617034c04e5c106cc0fb0200015a000b6163636573734f72646572787200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078007371007e00043f4000000000000c7708000000100000000078	t
 10	John	Admin	admin	admin@o.o	1	2008-11-05 09:18:10.581+01	\N	\\xaced00057372004163682e73797374656d73782e636973642e6f70656e6269732e67656e657269632e7368617265642e62617369632e64746f2e446973706c617953657474696e677300000000000000010200035a001575736557696c64636172645365617263684d6f64654c000e636f6c756d6e53657474696e677374000f4c6a6176612f7574696c2f4d61703b4c000f73656374696f6e53657474696e677371007e0001787001737200176a6176612e7574696c2e4c696e6b6564486173684d617034c04e5c106cc0fb0200015a000b6163636573734f72646572787200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078007371007e00043f4000000000000c7708000000100000000078	t
 11	John	Homeless	homeless	admin@o.o	\N	2008-11-05 09:18:10.581+01	\N	\\xaced00057372004163682e73797374656d73782e636973642e6f70656e6269732e67656e657269632e7368617265642e62617369632e64746f2e446973706c617953657474696e677300000000000000010200035a001575736557696c64636172645365617263684d6f64654c000e636f6c756d6e53657474696e677374000f4c6a6176612f7574696c2f4d61703b4c000f73656374696f6e53657474696e677371007e0001787001737200176a6176612e7574696c2e4c696e6b6564486173684d617034c04e5c106cc0fb0200015a000b6163636573734f72646572787200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078007371007e00043f4000000000000c7708000000100000000078	t
-12	John	ObserverCISD	observer_cisd	observer_cisd@o.o	1	2008-11-05 09:18:10.581+01	\N	\\xaced00057372004163682e73797374656d73782e636973642e6f70656e6269732e67656e657269632e7368617265642e62617369632e64746f2e446973706c617953657474696e677300000000000000010200035a001575736557696c64636172645365617263684d6f64654c000e636f6c756d6e53657474696e677374000f4c6a6176612f7574696c2f4d61703b4c000f73656374696f6e53657474696e677371007e0001787001737200176a6176612e7574696c2e4c696e6b6564486173684d617034c04e5c106cc0fb0200015a000b6163636573734f72646572787200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078007371007e00043f4000000000000c7708000000100000000078	t
\ No newline at end of file
+12	John	ObserverCISD	observer_cisd	observer_cisd@o.o	1	2008-11-05 09:18:10.581+01	\N	\\xaced00057372004163682e73797374656d73782e636973642e6f70656e6269732e67656e657269632e7368617265642e62617369632e64746f2e446973706c617953657474696e677300000000000000010200035a001575736557696c64636172645365617263684d6f64654c000e636f6c756d6e53657474696e677374000f4c6a6176612f7574696c2f4d61703b4c000f73656374696f6e53657474696e677371007e0001787001737200176a6176612e7574696c2e4c696e6b6564486173684d617034c04e5c106cc0fb0200015a000b6163636573734f72646572787200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078007371007e00043f4000000000000c7708000000100000000078	t
+13	John	InstanceObserver	instance_observer	instance_observer@o.o	1	2008-11-05 09:18:10.581+01	\N	\\xaced00057372004163682e73797374656d73782e636973642e6f70656e6269732e67656e657269632e7368617265642e62617369632e64746f2e446973706c617953657474696e677300000000000000010200035a001575736557696c64636172645365617263684d6f64654c000e636f6c756d6e53657474696e677374000f4c6a6176612f7574696c2f4d61703b4c000f73656374696f6e53657474696e677371007e0001787001737200176a6176612e7574696c2e4c696e6b6564486173684d617034c04e5c106cc0fb0200015a000b6163636573734f72646572787200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c7708000000100000000078007371007e00043f4000000000000c7708000000100000000078	t
diff --git a/openbis/sourceTest/sql/postgresql/159/052=role_assignments.tsv b/openbis/sourceTest/sql/postgresql/159/052=role_assignments.tsv
index 906e0fdb1b1bc4aa6b02535167bd5819212dbb70..34dad3b52868ef3ee4e10a0a6f10e2f2870f28e4 100644
--- a/openbis/sourceTest/sql/postgresql/159/052=role_assignments.tsv
+++ b/openbis/sourceTest/sql/postgresql/159/052=role_assignments.tsv
@@ -14,4 +14,5 @@
 14	POWER_USER	1	11	2	2008-11-05 09:18:11.471+01	\N
 15	OBSERVER	1	12	2	2008-11-05 09:18:11.471+01	\N
 16	ADMIN	2	12	2	2008-11-05 09:18:11.471+01	\N
-17	ADMIN	2	11	2	2008-11-05 09:18:11.471+01	\N
\ No newline at end of file
+17	ADMIN	2	11	2	2008-11-05 09:18:11.471+01	\N
+18	OBSERVER	\N	13	2	2008-11-05 09:18:11.471+01	\N
\ No newline at end of file