diff -up net-snmp-5.4.1/agent/snmp_agent.c.backup_patch_3 net-snmp-5.4.1/agent/snmp_agent.c
--- net-snmp-5.4.1/agent/snmp_agent.c.backup_patch_3 2007-05-14 16:50:38.000000000 +0200
+++ net-snmp-5.4.1/agent/snmp_agent.c 2008-07-25 12:52:40.000000000 +0200
@@ -1504,6 +1504,12 @@ netsnmp_wrap_up_request(netsnmp_agent_se
int i;
/*
+ * Update asp->status if necessary. Fixes ro/rw problem.
+ */
+ if ( status != 0 && asp->status == 0 )
+ asp->status = status;
+
+ /*
* if this request was a set, clear the global now that we are
* done.
*/