diff --git a/src/AlarmHandler.cpp b/src/AlarmHandler.cpp
index bb84f30ceaec5f512bf9ddc45bc72cffc9353e9f..dfcdad1ff5785d18079d49919b28e607a662b586 100644
--- a/src/AlarmHandler.cpp
+++ b/src/AlarmHandler.cpp
@@ -108,6 +108,7 @@ static const char __FILE__rev[] = __FILE__ " $Revision: 1.29 $";
 //  ResetStatistics  |  reset_statistics
 //  StopNew          |  stop_new
 //  GetAlarmInfo     |  get_alarm_info
+//  ReLoadAll        |  re_load_all
 //================================================================
 
 //================================================================
@@ -927,7 +928,7 @@ void AlarmHandler::read_alarmAudible(Tango::Attribute &attr)
 //--------------------------------------------------------
 void AlarmHandler::read_StatisticsResetTime(Tango::Attribute &attr)
 {
-	DEBUG_STREAM << "AlarmHandler::read_StatisticsResetTime(Tango::Attribute &attr) entering... " << endl;
+	//DEBUG_STREAM << "AlarmHandler::read_StatisticsResetTime(Tango::Attribute &attr) entering... " << endl;
 	/*----- PROTECTED REGION ID(AlarmHandler::read_StatisticsResetTime) ENABLED START -----*/
 	timespec now;
 	clock_gettime(CLOCK_MONOTONIC, &now);
@@ -3199,6 +3200,36 @@ Tango::DevVarStringArray *AlarmHandler::get_alarm_info(const Tango::DevVarString
 	return argout;
 }
 //--------------------------------------------------------
+/**
+ *	Command ReLoadAll related method
+ *	Description: Re Load all alarms.
+ *
+ */
+//--------------------------------------------------------
+void AlarmHandler::re_load_all()
+{
+	DEBUG_STREAM << "AlarmHandler::ReLoadAll()  - " << device_name << endl;
+	/*----- PROTECTED REGION ID(AlarmHandler::re_load_all) ENABLED START -----*/
+	//	Add your own code
+	vector<string> tmp_alm_vec;
+
+	alarms.get_alarm_list_db(tmp_alm_vec, saved_alarms);
+	for(vector<string>::iterator it_al = tmp_alm_vec.begin(); it_al!= tmp_alm_vec.end(); it_al++)
+	{
+		Tango::DevString arg = Tango::string_dup(it_al->c_str());
+		try
+		{
+			modify(arg);
+		}
+		catch(Tango::DevFailed &e)
+		{
+			DEBUG_STREAM << __func__ << ": Exception modifying alarm " << *it_al << " err=" << e.errors[0].desc<<endl;
+		}
+		Tango::string_free(arg);
+	}	
+	/*----- PROTECTED REGION END -----*/	//	AlarmHandler::re_load_all
+}
+//--------------------------------------------------------
 /**
  *	Method      : AlarmHandler::add_dynamic_commands()
  *	Description : Create the dynamic commands if any
diff --git a/src/AlarmHandler.h b/src/AlarmHandler.h
index 3b48c7f1d16b90212b4835504584c71d68ec467b..137ad66ebc363bc72a99e00f79bd4890b7561084 100644
--- a/src/AlarmHandler.h
+++ b/src/AlarmHandler.h
@@ -493,6 +493,13 @@ public:
 	 */
 	virtual Tango::DevVarStringArray *get_alarm_info(const Tango::DevVarStringArray *argin);
 	virtual bool is_GetAlarmInfo_allowed(const CORBA::Any &any);
+	/**
+	 *	Command ReLoadAll related method
+	 *	Description: Re Load all alarms.
+	 *
+	 */
+	virtual void re_load_all();
+	virtual bool is_ReLoadAll_allowed(const CORBA::Any &any);
 
 
 	//--------------------------------------------------------
diff --git a/src/AlarmHandler.xmi b/src/AlarmHandler.xmi
index b4af05f8c78f9d573fae2b6f5bab3cc9d193d5ba..60c8e8657eb86258872970859fa3d29bb38f4424 100644
--- a/src/AlarmHandler.xmi
+++ b/src/AlarmHandler.xmi
@@ -168,6 +168,15 @@
       </argout>
       <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
     </commands>
+    <commands name="ReLoadAll" description="Re Load all alarms." execMethod="re_load_all" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
+      <argin description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argout>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+    </commands>
     <attributes name="alarmAudible" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
       <dataType xsi:type="pogoDsl:BooleanType"/>
       <changeEvent fire="true" libCheckCriteria="false"/>
diff --git a/src/AlarmHandlerClass.cpp b/src/AlarmHandlerClass.cpp
index d53a4c6c72f8c0af68116d190b7e0f771f8679e7..02edbc2570f08d3c20b62d092fc515e477bdefde 100644
--- a/src/AlarmHandlerClass.cpp
+++ b/src/AlarmHandlerClass.cpp
@@ -406,6 +406,24 @@ CORBA::Any *GetAlarmInfoClass::execute(Tango::DeviceImpl *device, const CORBA::A
 	return insert((static_cast<AlarmHandler *>(device))->get_alarm_info(argin));
 }
 
+//--------------------------------------------------------
+/**
+ * method : 		ReLoadAllClass::execute()
+ * description : 	method to trigger the execution of the command.
+ *
+ * @param	device	The device on which the command must be executed
+ * @param	in_any	The command input data
+ *
+ *	returns The command output data (packed in the Any object)
+ */
+//--------------------------------------------------------
+CORBA::Any *ReLoadAllClass::execute(Tango::DeviceImpl *device, TANGO_UNUSED(const CORBA::Any &in_any))
+{
+	cout2 << "ReLoadAllClass::execute(): arrived" << endl;
+	((static_cast<AlarmHandler *>(device))->re_load_all());
+	return new CORBA::Any();
+}
+
 
 //===================================================================
 //	Properties management
@@ -1226,6 +1244,15 @@ void AlarmHandlerClass::command_factory()
 			Tango::OPERATOR);
 	command_list.push_back(pGetAlarmInfoCmd);
 
+	//	Command ReLoadAll
+	ReLoadAllClass	*pReLoadAllCmd =
+		new ReLoadAllClass("ReLoadAll",
+			Tango::DEV_VOID, Tango::DEV_VOID,
+			"",
+			"",
+			Tango::OPERATOR);
+	command_list.push_back(pReLoadAllCmd);
+
 	/*----- PROTECTED REGION ID(AlarmHandlerClass::command_factory_after) ENABLED START -----*/
 	
 	//	Add your own code
diff --git a/src/AlarmHandlerClass.h b/src/AlarmHandlerClass.h
index b17e2a3b750ae88ef19f67894c20c6bf24cb0c7d..fd49b6636e9d0b5f3910acdb7f052c23e7690024 100644
--- a/src/AlarmHandlerClass.h
+++ b/src/AlarmHandlerClass.h
@@ -558,6 +558,29 @@ public:
 	{return (static_cast<AlarmHandler *>(dev))->is_GetAlarmInfo_allowed(any);}
 };
 
+//	Command ReLoadAll class definition
+class ReLoadAllClass : public Tango::Command
+{
+public:
+	ReLoadAllClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out,
+				   const char        *in_desc,
+				   const char        *out_desc,
+				   Tango::DispLevel  level)
+	:Command(name,in,out,in_desc,out_desc, level)	{};
+
+	ReLoadAllClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out)
+	:Command(name,in,out)	{};
+	~ReLoadAllClass() {};
+	
+	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
+	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
+	{return (static_cast<AlarmHandler *>(dev))->is_ReLoadAll_allowed(any);}
+};
+
 
 /**
  *	The AlarmHandlerClass singleton definition
diff --git a/src/AlarmHandlerStateMachine.cpp b/src/AlarmHandlerStateMachine.cpp
index 393ac93eba970227509ac4b5eb560e4bd5a89c1a..0a855a31c9674dab54d39b0940761897dbab343d 100644
--- a/src/AlarmHandlerStateMachine.cpp
+++ b/src/AlarmHandlerStateMachine.cpp
@@ -484,6 +484,21 @@ bool AlarmHandler::is_GetAlarmInfo_allowed(TANGO_UNUSED(const CORBA::Any &any))
 	return true;
 }
 
+//--------------------------------------------------------
+/**
+ *	Method      : AlarmHandler::is_ReLoadAll_allowed()
+ *	Description : Execution allowed for ReLoadAll attribute
+ */
+//--------------------------------------------------------
+bool AlarmHandler::is_ReLoadAll_allowed(TANGO_UNUSED(const CORBA::Any &any))
+{
+	//	Not any excluded states for ReLoadAll command.
+	/*----- PROTECTED REGION ID(AlarmHandler::ReLoadAllStateAllowed) ENABLED START -----*/
+	
+	/*----- PROTECTED REGION END -----*/	//	AlarmHandler::ReLoadAllStateAllowed
+	return true;
+}
+
 
 /*----- PROTECTED REGION ID(AlarmHandler::AlarmHandlerStateAllowed.AdditionalMethods) ENABLED START -----*/