diff --git a/addons/web/static/src/views/fields/field.js b/addons/web/static/src/views/fields/field.js
index d706ee1ca2e..13bb7463479 100644
--- a/addons/web/static/src/views/fields/field.js
+++ b/addons/web/static/src/views/fields/field.js
@@ -275,7 +275,7 @@ Field.parseFieldNode = function (node, models, modelName, viewType, jsClass) {
viewMode = "list";
} else if (!views.list && views.kanban) {
viewMode = "kanban";
- } else {
+ } else if (views.list && views.kanban) {
viewMode = "list,kanban";
}
} else {
diff --git a/addons/web/static/src/views/fields/x2many/x2many_field.js b/addons/web/static/src/views/fields/x2many/x2many_field.js
index cecb17b0a59..bcc5361bdde 100644
--- a/addons/web/static/src/views/fields/x2many/x2many_field.js
+++ b/addons/web/static/src/views/fields/x2many/x2many_field.js
@@ -35,7 +35,12 @@ export class X2ManyField extends Component {
this.isMany2Many
);
- const archInfo = this.activeField.views[this.viewMode];
+ let archInfo;
+ if (this.viewMode) {
+ archInfo = this.activeField.views[this.viewMode];
+ } else {
+ archInfo = {};
+ }
const subViewActiveActions = archInfo.activeActions;
this.activeActions = useActiveActions({
crudOptions: Object.assign({}, this.activeField.options, {
diff --git a/addons/web/static/src/views/fields/x2many/x2many_field.xml b/addons/web/static/src/views/fields/x2many/x2many_field.xml
index 85911f63f35..3addd0a2b54 100644
--- a/addons/web/static/src/views/fields/x2many/x2many_field.xml
+++ b/addons/web/static/src/views/fields/x2many/x2many_field.xml
@@ -18,7 +18,7 @@
-
+