diff --git a/openerp/tools/config.py b/openerp/tools/config.py
index 0e5cecb966cd310936e7f8c1bcd292bb0d3548c9..5f8315fea6c8130f754b4a700884104769ed524e 100644
--- a/openerp/tools/config.py
+++ b/openerp/tools/config.py
@@ -445,9 +445,14 @@ class configmanager(object):
 
         self.options['root_path'] = os.path.abspath(os.path.expanduser(os.path.expandvars(os.path.dirname(openerp.__file__))))
         if not self.options['addons_path'] or self.options['addons_path']=='None':
+            default_addons = []
             base_addons = os.path.join(self.options['root_path'], 'addons')
+            if os.path.exists(base_addons):
+                default_addons.append(base_addons)
             main_addons = os.path.abspath(os.path.join(self.options['root_path'], '../addons'))
-            self.options['addons_path'] = '%s,%s' % (base_addons, main_addons)
+            if os.path.exists(main_addons):
+                default_addons.append(main_addons)
+            self.options['addons_path'] = ','.join(default_addons)
         else:
             self.options['addons_path'] = ",".join(
                     os.path.abspath(os.path.expanduser(os.path.expandvars(x)))