diff --git a/plugins/setting-resources/src/components/ClassAttributesList.svelte b/plugins/setting-resources/src/components/ClassAttributesList.svelte
index 514614a5a6..05cff99bab 100644
--- a/plugins/setting-resources/src/components/ClassAttributesList.svelte
+++ b/plugins/setting-resources/src/components/ClassAttributesList.svelte
@@ -41,6 +41,7 @@
     Label,
     Menu,
     getEventPositionElement,
+    getEventPopupPositionElement,
     showPopup
   } from '@hcengineering/ui'
   import { getContextActions } from '@hcengineering/view-resources'
@@ -48,6 +49,8 @@
   import CreateAttribute from './CreateAttribute.svelte'
   import EditAttribute from './EditAttribute.svelte'
   import EditClassLabel from './EditClassLabel.svelte'
+  import { settingsStore } from '../store'
+  import TypesPopup from './typeEditors/TypesPopup.svelte'
 
   export let _class: Ref<Class<Doc>>
   export let ofClass: Ref<Class<Doc>> | undefined = undefined
@@ -95,8 +98,10 @@
     attributes = getCustomAttributes(_class)
   }
 
-  export function createAttribute (): void {
-    showPopup(CreateAttribute, { _class }, 'top', update)
+  export function createAttribute (ev: MouseEvent): void {
+    showPopup(TypesPopup, { _class }, getEventPopupPositionElement(ev), (_id) => {
+      if (_id !== undefined) $settingsStore = { component: CreateAttribute, props: { _id, _class } }
+    })
   }
 
   export async function editAttribute (attribute: AnyAttribute, exist: boolean): Promise<void> {
diff --git a/plugins/task-resources/src/components/taskTypes/TypeClassEditor.svelte b/plugins/task-resources/src/components/taskTypes/TypeClassEditor.svelte
index 4557465c4d..19c5b03860 100644
--- a/plugins/task-resources/src/components/taskTypes/TypeClassEditor.svelte
+++ b/plugins/task-resources/src/components/taskTypes/TypeClassEditor.svelte
@@ -55,7 +55,7 @@
       <ObjectPresenter _class={clazz._class} objectId={clazz._id} value={clazz} />
     {/if}
   </div>
-  <Button icon={IconAdd} size={'small'} kind={'primary'} on:click={() => mainAttributes?.createAttribute()} />
+  <Button icon={IconAdd} size={'small'} kind={'primary'} on:click={(ev) => mainAttributes?.createAttribute(ev)} />
 </div>
 <div class="ml-2 mr-2">
   <table class="antiTable mx-2">