diff --git a/hive b/hive
index 98a410673f5d6fb86c776e4f22b10388ea4a346c..015c4c0dc6b76d8b256363335609c5eadbcfaaeb 160000
--- a/hive
+++ b/hive
@@ -1 +1 @@
-Subproject commit 98a410673f5d6fb86c776e4f22b10388ea4a346c
+Subproject commit 015c4c0dc6b76d8b256363335609c5eadbcfaaeb
diff --git a/src/hive_fork_manager/state_providers/update_providers.sql b/src/hive_fork_manager/state_providers/update_providers.sql
index aa05171096e8e69830b70c29cdb75ad57c65ed26..c4235256c61170b3ebed7ccd7b865ca751f4684b 100644
--- a/src/hive_fork_manager/state_providers/update_providers.sql
+++ b/src/hive_fork_manager/state_providers/update_providers.sql
@@ -3,8 +3,16 @@ CREATE OR REPLACE FUNCTION hive.state_provider_update_runtime( _provider hafd.st
     LANGUAGE plpgsql
 AS
 $BODY$
+DECLARE
+    __owner NAME;
 BEGIN
+    SELECT hc.owner INTO __owner FROM hafd.contexts hc WHERE hc.name = _context;
+
+    EXECUTE format('SET ROLE %s', __owner);
+
     EXECUTE format('SELECT hive.runtimecode_provider_%s(%L)', _provider, _context );
+
+    RESET ROLE;
 END;
 $BODY$
 ;