diff --git a/models/contact/src/index.ts b/models/contact/src/index.ts
index d787a45bcb..1497924f80 100644
--- a/models/contact/src/index.ts
+++ b/models/contact/src/index.ts
@@ -201,6 +201,10 @@ export function createModel (builder: Builder): void {
     editor: contact.component.PersonEditor
   })
 
+  builder.mixin(contact.class.Channel, core.class.Class, view.mixin.AttributePresenter, {
+    presenter: contact.component.ChannelsPresenter
+  })
+
   builder.mixin(contact.class.Channel, core.class.Class, view.mixin.CollectionPresenter, {
     presenter: contact.component.ChannelsPresenter
   })
diff --git a/plugins/view-resources/src/utils.ts b/plugins/view-resources/src/utils.ts
index 8af29d96d8..cc8d2abc71 100644
--- a/plugins/view-resources/src/utils.ts
+++ b/plugins/view-resources/src/utils.ts
@@ -61,7 +61,9 @@ export async function getObjectPresenter (
     mixinClazz = hierarchy.getClass(mixinClazz.extends)
   }
   if (presenterMixin.presenter === undefined) {
-    throw new Error('object presenter not found for ' + JSON.stringify(preserveKey))
+    throw new Error(
+      `object presenter not found for class=${_class}, mixin=${mixin}, preserve key ${JSON.stringify(preserveKey)}`
+    )
   }
   const presenter = await getResource(presenterMixin.presenter)
   const key = preserveKey.sortingKey ?? preserveKey.key