@@ -39,6 +39,7 @@ Scope::Scope(QString const& id, QString const& name, bool favorite, Scopes* pare
3939 , m_searching(false)
4040 , m_favorite(favorite)
4141 , m_isActive(false)
42+ , m_hasBeenActive(false)
4243 , m_hasNavigation(true)
4344 , m_hasPrimaryFilter(true)
4445 , m_currentNavigationId("root")
@@ -108,7 +109,7 @@ bool Scope::favorite() const
108109
109110unity::shell::scopes::CategoriesInterface* Scope::categories() const
110111{
111− return m_categories;
112+ return m_hasBeenActive ? m_categories : nullptr;
112113}
113114
114115unity::shell::scopes::SettingsModelInterface* Scope::settings() const
@@ -153,6 +154,10 @@ void Scope::setActive(const bool active)
153154 m_isActive = active;
154155 Q_EMIT isActiveChanged();
155156 }
157+ if (active && !m_hasBeenActive) {
158+ m_hasBeenActive = true;
159+ Q_EMIT categoriesChanged();
160+ }
156161}
157162
158163void Scope::setFavorite(const bool favorite)