diff --git a/master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_boostrapUserAccount.py b/master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_boostrapUserAccount.py
index 8d3ceab5f6388103323fb86f3aaa6683f61c0b5b..71c486eca7223a3aa75acbd3844bba5f4c05793f 100644
--- a/master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_boostrapUserAccount.py
+++ b/master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_boostrapUserAccount.py
@@ -1,10 +1,6 @@
 # Send an email for the user with a URL, so he can set the password.
-
 from Products.ERP5Type.Errors import UnsupportedWorkflowMethod
 
-portal = context.getPortalObject()
-portal_preferences = portal.portal_preferences
-
 reference = None
 password = None
 
@@ -21,12 +17,6 @@ role_list = ['member', 'subscriber']
 
 open_assignment_list = person.searchFolder(portal_type="Assignment",
                                               validation_state="open")
-
-# Initialisation
-assignment_duration = portal_preferences.getPreferredCredentialAssignmentDuration()
-today = DateTime()
-delay = today+assignment_duration
-
 current_assignment_list = {}
 for assignment in open_assignment_list:
   role = assignment.getRole()
@@ -37,21 +27,23 @@ for assignment in open_assignment_list:
 
 for role in role_list:
   if role in current_assignment_list:
-    #Update assignment
+    # Update assignment (Reset stop/start dates)
     for assignment in current_assignment_list[role]:
-      assignment.update()
-      assignment.edit(stop_date=delay)
-      assignment.open()
+      if assignment.getStartDate() is None or \
+        assignment.getStopDate() is None:
+        assignment.update()
+        assignment.edit(stop_date=None,
+                        start_date=None)
+        assignment.open(
+          comment="Start and Stop reset by Subscription Request")
   else:
-    #Create assignment
+    # Create assignment
     assignment = person.newContent(
         portal_type='Assignment',
         title = '%s Assignment' % (role.capitalize()),
-        role = role,
-        start_date = today - 1,
-        stop_date = delay)
+        role = role)
 
-    assignment.open()
+    assignment.open(comment="Created by Subscription Request")
 
 login_list = [x for x in person.objectValues(portal_type=['ERP5 Login', 'Google Login', 'Facebook Login']) \
               if x.getValidationState() == 'validated']
@@ -68,7 +60,7 @@ if not open_assignment_list and person.getUserId() == login_list[0].getReference
   # Update password of the user
   password = person.Person_generatePassword()
   login.setPassword(password)
-  login.validate()
+  login.validate(comment="Updated by Subscription Request")
 
 # Update Roles and Title
 try:
@@ -79,9 +71,9 @@ except UnsupportedWorkflowMethod:
 person.edit(default_career_role_list=role_list)
 
 default_career = getattr(person,'default_career',None)
-#Try to validate the default career
+# Try to validate the default career
 try:
-  default_career.start()
+  default_career.start(comment="Started by Subscription Request")
   default_career.setStartDate(DateTime())
 except UnsupportedWorkflowMethod:
   pass
diff --git a/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py b/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py
index 24b704eab4118c390cddcc7ca828a29df861a68b..da7b1e2fc119bd8ca719f63407bf15e5acd72e55 100644
--- a/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py
+++ b/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py
@@ -410,15 +410,10 @@ assert password""")
     subscriber_role = [i for i in open_assignment_list if i.getRole() == 'subscriber'][0]
     member_role = [i for i in open_assignment_list if i.getRole() == 'member'][0]
 
-    self.assertNotEqual(subscriber_role.getStartDate(), None)
-    self.assertNotEqual(member_role.getStopDate(), None)
-    self.assertNotEqual(subscriber_role.getStartDate(), None)
-    self.assertNotEqual(member_role.getStopDate(), None)
-
-    self.assertTrue(subscriber_role.getStartDate() < DateTime())
-    self.assertTrue(member_role.getStopDate() > DateTime() + 365*5)
-    self.assertTrue(subscriber_role.getStartDate() < DateTime())
-    self.assertTrue(member_role.getStopDate() > DateTime()  + 365*5)
+    self.assertEqual(subscriber_role.getStartDate(), None)
+    self.assertEqual(member_role.getStopDate(), None)
+    self.assertEqual(subscriber_role.getStartDate(), None)
+    self.assertEqual(member_role.getStopDate(), None)
 
     login_list = person.searchFolder(portal_type='ERP5 Login', validation_state="validated")
     self.assertEqual(len(login_list), 1)
diff --git a/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.xml b/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.xml
index 7ffa7b869af3a9ed2c703f2b350210cdb3984a9b..070c46fa6ecc1f5d622a75ba17e40a98e3bef07a 100644
--- a/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.xml
+++ b/master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.xml
@@ -6,12 +6,6 @@
     </pickle>
     <pickle>
       <dictionary>
-        <item>
-            <key> <string>_recorded_property_dict</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
         <item>
             <key> <string>default_reference</string> </key>
             <value> <string>testSlapOSSubscriptionSkins</string> </value>
@@ -55,28 +49,13 @@
         <item>
             <key> <string>workflow_history</string> </key>
             <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
             </value>
         </item>
       </dictionary>
     </pickle>
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <global name="PersistentMapping" module="Persistence.mapping"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>data</string> </key>
-            <value>
-              <dictionary/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
       <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
@@ -89,7 +68,7 @@
                 <item>
                     <key> <string>component_validation_workflow</string> </key>
                     <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
                     </value>
                 </item>
               </dictionary>
@@ -98,7 +77,7 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
+  <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
       <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
     </pickle>