diff --git a/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_sendPasswordResetLink.xml b/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_sendPasswordResetLink.xml
index 35adbb1a1b7cc90282266c1700dff6e312aadd9e..7833eda2421e4ef717154818ca4be60a8168d001 100644
--- a/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_sendPasswordResetLink.xml
+++ b/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_sendPasswordResetLink.xml
@@ -57,9 +57,12 @@ portal = context.getPortalObject()\n
 \n
 person = context.getDestinationDecisionValue(portal_type="Person")\n
 reference = person.getReference()\n
-message_reference = portal.portal_preferences.getPreferredCredentialPasswordRecoveryMessageReference()\n
-if message_reference is None:\n
-  raise ValueError, "Preference not configured"\n
+if context.hasDocumentReference():\n
+  message_reference = context.getDocumentReference()\n
+else:\n
+  message_reference = portal.portal_preferences.getPreferredCredentialPasswordRecoveryMessageReference()\n
+  if message_reference is None:\n
+    raise ValueError, "Preference not configured"\n
 notification_message = portal.NotificationTool_getDocumentValue(message_reference,\n
                                                                 context.getLanguage())\n
 \n
diff --git a/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_view.xml b/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_view.xml
index 6cf2885f71c38fdb3b7b39a79485565bad69f737..f4e3f5ccb0179dc6e8f947bbab95227564de44d0 100644
--- a/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_view.xml
+++ b/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_view.xml
@@ -103,6 +103,7 @@
                         <string>my_default_credential_question_answer</string>
                         <string>my_destination_decision_title_list</string>
                         <string>my_url_string</string>
+                        <string>my_document_reference</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_view/my_document_reference.xml b/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_view/my_document_reference.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3517b2ba4b8fb2270842adf1b6fecee969a35f5f
--- /dev/null
+++ b/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRecovery_view/my_document_reference.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>display_width</string>
+                <string>editable</string>
+                <string>enabled</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_document_reference</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_reference</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Notification Message Reference</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python:here.hasDocumentReference()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_credential/bt/change_log b/bt5/erp5_credential/bt/change_log
index eb4fd17a6e84d8a7b0b61ac7f6f3a455c648109b..574ec2a5a86d7f1524b7d6d88ce1e613b093c103 100644
--- a/bt5/erp5_credential/bt/change_log
+++ b/bt5/erp5_credential/bt/change_log
@@ -1,3 +1,6 @@
+2012-04-27 Kazuhiko
+* use document_reference in Credential Recovery as the reference of nofitication message if exists.
+
 2010-05-27 fabien
 * implement Credential Request, add class, improve forms, ...
 * Rename credential_question base category to question and add sub categories.
\ No newline at end of file
diff --git a/bt5/erp5_credential/bt/revision b/bt5/erp5_credential/bt/revision
index 511fa83dfa3be29e929664165b2228c4fbd9ff3e..be6652a2ab7bd0c8450fb25bd74ece961efb90bb 100644
--- a/bt5/erp5_credential/bt/revision
+++ b/bt5/erp5_credential/bt/revision
@@ -1 +1 @@
-414
\ No newline at end of file
+415
\ No newline at end of file