diff --git a/odoo/cli/shell.py b/odoo/cli/shell.py
index 320cf5aa3d42d42e93506073e5b59e100b2908e8..0aaa9ab2d8448fffebf09634d8c5e636dc68395b 100644
--- a/odoo/cli/shell.py
+++ b/odoo/cli/shell.py
@@ -63,7 +63,7 @@ class Shell(Command):
 
     def console(self, local_vars):
         if not os.isatty(sys.stdin.fileno()):
-            exec sys.stdin in local_vars
+            exec(sys.stdin, local_vars)
         else:
             if 'env' not in local_vars:
                 print('No environment set, use `%s shell -d dbname` to get one.' % sys.argv[0])