diff --git a/packages/presentation/src/status.ts b/packages/presentation/src/status.ts
index bfdb337ca7..10c4681d59 100644
--- a/packages/presentation/src/status.ts
+++ b/packages/presentation/src/status.ts
@@ -231,7 +231,7 @@ export class StatusMiddleware extends BasePresentationMiddleware implements Pres
           statusFields.push(attr)
           const v = (query as any)[attr.name]
 
-          if (v !== undefined) {
+          if (v != null) {
             // Only add filter if we have filer inside.
             if (typeof v === 'string') {
               target.push(v as Ref<Status>)
diff --git a/packages/ui/src/components/DropdownLabels.svelte b/packages/ui/src/components/DropdownLabels.svelte
index 1e16582d05..5fe21f9829 100644
--- a/packages/ui/src/components/DropdownLabels.svelte
+++ b/packages/ui/src/components/DropdownLabels.svelte
@@ -70,7 +70,7 @@
           { placeholder, items, multiselect, selected },
           container,
           (result) => {
-            if (result) {
+            if (result != null) {
               if (allowDeselect && selected === result) {
                 selected = undefined
                 dispatch('selected', undefined)
@@ -83,7 +83,7 @@
             mgr?.setFocusPos(focusIndex)
           },
           (result) => {
-            if (result) {
+            if (result != null) {
               selected = result
               dispatch('selected', result)
             }
diff --git a/plugins/view-resources/src/components/filter/ObjectFilter.svelte b/plugins/view-resources/src/components/filter/ObjectFilter.svelte
index 322053b86f..02be8c150a 100644
--- a/plugins/view-resources/src/components/filter/ObjectFilter.svelte
+++ b/plugins/view-resources/src/components/filter/ObjectFilter.svelte
@@ -57,11 +57,11 @@
     const statuses = val
     const result: (Doc | undefined)[] = []
     statusesCount = []
-    const unique = [...new Set(val.map((v) => v?.name))]
+    const unique = [...new Set(val.map((v) => v?.name?.trim()?.toLocaleLowerCase()))]
     unique.forEach((label, i) => {
       let count = 0
       statuses.forEach((state) => {
-        if (state?.name === label) {
+        if (state?.name?.trim()?.toLocaleLowerCase() === label?.trim()?.toLowerCase()) {
           if (!count) result[i] = state
           count += targets.get(state?._id) ?? 0
         }
@@ -76,7 +76,12 @@
       await objectsPromise
     }
     targets.clear()
-    const baseObjects = await client.findAll(filter.key._class, space ? { space } : {}, {
+
+    const spaces = (
+      await client.findAll(core.class.Space, { archived: true }, { projection: { _id: 1, archived: 1, _class: 1 } })
+    ).map((it) => it._id)
+
+    const baseObjects = await client.findAll(filter.key._class, space ? { space } : { space: { $nin: spaces } }, {
       projection: { [filter.key.key]: 1, space: 1 }
     })
     for (const object of baseObjects) {
diff --git a/plugins/workbench-resources/src/components/SpecialView.svelte b/plugins/workbench-resources/src/components/SpecialView.svelte
index d762d67e68..f87fb4db95 100644
--- a/plugins/workbench-resources/src/components/SpecialView.svelte
+++ b/plugins/workbench-resources/src/components/SpecialView.svelte
@@ -15,7 +15,7 @@
 <script lang="ts">
   import { Class, Doc, Ref, Space, WithLookup } from '@hcengineering/core'
   import { Asset, IntlString } from '@hcengineering/platform'
-  import { createQuery, getClient } from '@hcengineering/presentation'
+  import { createQuery } from '@hcengineering/presentation'
   import {
     AnyComponent,
     Button,
@@ -58,29 +58,36 @@
 
   $: query = viewlet?.baseQuery ?? {}
 
-  $: searchQuery = search === '' ? query : { $search: search, ...query }
+  $: searchQuery = search === '' ? query : { ...query, $search: search }
 
   $: resultQuery = searchQuery
 
   const preferenceQuery = createQuery()
   let preference: ViewletPreference | undefined
 
-  const client = getClient()
   let loading = true
 
   let viewlets: WithLookup<Viewlet>[] = []
 
   const viewletQuery = createQuery()
-  $: viewletQuery.query(
-    view.class.Viewlet,
-    { attachTo: _class, variant: { $exists: false } },
-    (res) => (viewlets = res),
-    {
-      lookup: {
-        descriptor: view.class.ViewletDescriptor
+  $: {
+    viewletQuery.query(
+      view.class.Viewlet,
+      {
+        attachTo: _class,
+        variant: { $exists: false },
+        descriptor: { $in: descriptors ?? [view.viewlet.Table] }
+      },
+      (res) => {
+        viewlets = res
+      },
+      {
+        lookup: {
+          descriptor: view.class.ViewletDescriptor
+        }
       }
-    }
-  )
+    )
+  }
 
   let key = makeViewletKey()
 
@@ -90,33 +97,16 @@
     })
   )
 
-  $: active = $activeViewlet[key]
-
-  $: update(_class, active, descriptors)
+  $: update(_class, $activeViewlet[key], viewlets)
 
   async function update (
     _class: Ref<Class<Doc>>,
     active: Ref<Viewlet> | null,
-    descriptors?: Ref<ViewletDescriptor>[]
+    viewlets: WithLookup<Viewlet>[]
   ): Promise<void> {
-    loading = true
-    viewlets = await client.findAll(
-      view.class.Viewlet,
-      {
-        attachTo: _class,
-        variant: { $exists: false },
-        descriptor: { $in: descriptors ?? [view.viewlet.Table] }
-      },
-      {
-        lookup: {
-          descriptor: view.class.ViewletDescriptor
-        }
-      }
-    )
     preference = undefined
     viewlet = viewlets.find((viewlet) => viewlet._id === active) ?? viewlets[0]
     setActiveViewletId(viewlet._id)
-    loading = false
   }
 
   $: if (viewlet !== undefined) {
@@ -202,22 +192,24 @@
     query={searchQuery}
     {viewOptions}
     on:change={(e) => {
-      resultQuery = { ...e.detail, ...query }
-    }}
-  />
-  <Component
-    is={viewlet.$lookup.descriptor.component}
-    props={{
-      _class,
-      space,
-      options: viewlet.options,
-      config: preference?.config ?? viewlet.config,
-      viewlet,
-      viewOptions,
-      viewOptionsConfig: viewlet.viewOptions?.other,
-      createItemDialog: createComponent,
-      createItemLabel: createLabel,
-      query: resultQuery
+      resultQuery = { ...query, ...e.detail }
     }}
   />
+  {#key viewlet?._id}
+    <Component
+      is={viewlet.$lookup.descriptor.component}
+      props={{
+        _class,
+        space,
+        options: viewlet.options,
+        config: preference?.config ?? viewlet.config,
+        viewlet,
+        viewOptions,
+        viewOptionsConfig: viewlet.viewOptions?.other,
+        createItemDialog: createComponent,
+        createItemLabel: createLabel,
+        query: resultQuery
+      }}
+    />
+  {/key}
 {/if}