diff --git a/share/doc/xsd/vm.xsd b/share/doc/xsd/vm.xsd
index f533e34c3c..948ec8ec3c 100644
--- a/share/doc/xsd/vm.xsd
+++ b/share/doc/xsd/vm.xsd
@@ -27,15 +27,10 @@
         </xs:element>
         <xs:element name="LAST_POLL" type="xs:integer"/>
 
-        <!-- STATE values,
-        see http://docs.opennebula.org/stable/user/references/vm_states.html
+        <!-- STATE and LCM_STATE values,
+        see http://docs.opennebula.org/5.6/operation/references/vm_states.html#list-of-states
         -->
         <xs:element name="STATE" type="xs:integer"/>
-
-        <!-- LCM_STATE values, this sub-state is relevant only when STATE is
-             ACTIVE (4)
-        see http://docs.opennebula.org/stable/user/references/vm_states.html
-        -->
         <xs:element name="LCM_STATE" type="xs:integer"/>
         <xs:element name="PREV_STATE" type="xs:integer"/>
         <xs:element name="PREV_LCM_STATE" type="xs:integer"/>
diff --git a/src/rm/RequestManagerLock.cc b/src/rm/RequestManagerLock.cc
index 3963c8bc78..039efc1ba9 100644
--- a/src/rm/RequestManagerLock.cc
+++ b/src/rm/RequestManagerLock.cc
@@ -54,7 +54,15 @@ void RequestManagerLock::request_execute(xmlrpc_c::paramList const& paramList,
 
         object->unlock();
 
-        success_response((rc == 0), att);
+        if (rc != 0)
+        {
+            att.resp_msg = "Error trying to lock the resource.";
+            failure_response(ACTION, att);
+        }
+        else
+        {
+            success_response(oid, att);
+        }
     }
     else
     {