diff --git a/src/AlarmHandler.cpp b/src/AlarmHandler.cpp
index ff34b2872bc727b50b9700ab0fec3325bc449c40..0acebd46d6e38141a96e1e3cc786dc1d75c95700 100644
--- a/src/AlarmHandler.cpp
+++ b/src/AlarmHandler.cpp
@@ -5867,17 +5867,17 @@ void AlarmHandler::put_signal_property()
 			auto found = local_alarms.find(it2->first);
 			if (found == local_alarms.end())
 			{
-				DEBUG_STREAM << __func__<<": DELETING '" << it2->first << "'" << endl;
+				DEBUG_STREAM << __func__<<": DELETING '" << it2->first << "' saved_alarms.size=" << saved_alarms.size() << endl;
 				DECLARE_TIME_VAR	t0, t1;
 				GET_TIME(t0);
 				alarms.delete_alarm_conf_db(it2->first);
 				GET_TIME(t1);
-				DEBUG_STREAM << __func__ << ": DELETED '" <<it2->first << "' in " << ELAPSED(t0, t1) << " ms" << endl;
-				//savedlock->readerOut();//TODO: with boost shared lock to be released to take exclusive
+				DEBUG_STREAM << __func__ << ": DELETED '" <<it2->first << "' in " << ELAPSED(t0, t1) << " ms saved_alarms.size=" << saved_alarms.size() << endl;
+				savedlock->readerOut();
 				savedlock->writerIn();
 				saved_alarms.erase(it2);
 				savedlock->writerOut();
-				//savedlock->readerIn();
+				savedlock->readerIn();
 			}
 		}
 		if(it2 != saved_alarms.end())