diff --git a/addons/project/project.py b/addons/project/project.py
index d17980fd33b6f611a727d6d27882efaf64d69b0e..27eb688c0b4555f8032d2731002ff476342661f5 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -591,12 +591,12 @@ def Project():
         if vals.get('type', False) not in ('template', 'contract'):
             vals['type'] = 'contract'
 
+        ir_values = self.pool.get('ir.values').get_default(cr, uid, 'project.config.settings', 'generate_project_alias')
+        if ir_values:
+            vals['alias_name'] = vals.get('alias_name') or vals.get('name')
         project_id = super(project, self).create(cr, uid, vals, context=create_context)
         project_rec = self.browse(cr, uid, project_id, context=context)
-        ir_values = self.pool.get('ir.values').get_default( cr, uid, 'project.config.settings', 'generate_project_alias' )
-        values = { 'alias_parent_thread_id': project_id, 'alias_defaults': {'project_id': project_id}}
-        if ir_values:
-            values = dict(values, alias_name=vals['name'])
+        values = {'alias_parent_thread_id': project_id, 'alias_defaults': {'project_id': project_id}}
         self.pool.get('mail.alias').write(cr, uid, [project_rec.alias_id.id], values, context=context)
         return project_id
 
diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml
index 12a028151bcc98a3abf16349477785ae60c8eace..bf3eed10aae3cea54bc6568b9983ca3298e4d98a 100644
--- a/addons/project/project_data.xml
+++ b/addons/project/project_data.xml
@@ -24,6 +24,9 @@
             <field name="type">view</field>
         </record>
         <function id="parent_project_default_set" model="ir.values" name="set" eval="('default',False,'parent_id', [('project.project', False)], all_projects_account, True, False, False, False, True)"/>
+        
+        <!-- alias domain: project.config.settings -->
+        <function id="default_alias_domain_project" model="ir.values" name="set_default" eval="('project.config.settings', 'generate_project_alias', True)"/>
 
         <!-- Task Stages -->