No Code Attached Yet bug
avatar stop-theworld
stop-theworld
13 Oct 2026

What happened?

After upgrading a multilingual Joomla website from 6.1.4 to 6.2.0, the Language Switcher no longer redirects visitors to the associated page in the other language.
Instead, it always generates a link to the homepage of the selected language.
The issue occurs in both directions (French → German and German → French).1.

Steps to reproduce

  1. Start with a working multilingual Joomla 6.1.4 website.
  2. Configure French and German content languages.
  3. Create menu items in both languages and associate them.
  4. Verify that the Language Switcher correctly navigates between associated pages.
  5. Upgrade Joomla to 6.2.0.
  6. Test the Language Switcher again.

Version

6.2

Expected result

Clicking on the German or French flag should open the corresponding associated menu item.

Actual result

The Language Switcher generates a link to the homepage of the selected language instead of the associated menu item.

System Information

Joomla version:

  • Before update: Joomla 6.1.4 Stable [Nyota]
  • After update: Joomla 6.2.0 Stable [Mwezi]

Production environment (working):

  • Joomla: 6.1.4
  • PHP: 8.4.24
  • Database: MariaDB 10.11.19
  • Database collation: utf8mb3_general_ci
  • Database connection collation: utf8mb4_general_ci
  • Web server: Apache
  • PHP interface: fpm-fcgi
  • Operating system: Debian Linux (x86_64)
  • Joomla Backward Compatibility Plugin: Enabled

Local MAMP environment (not working):

  • Joomla: 6.2.0
  • PHP: 8.3.30
  • Database: MySQL 8.0.44
  • Database collation: utf8mb4_0900_ai_ci
  • Database connection collation: utf8mb4_0900_ai_ci
  • Web server: Apache 2.4.66
  • PHP interface: cgi-fcgi
  • Operating system: macOS (Apple Silicon ARM64)
  • Joomla Backward Compatibility Plugin: Enabled

Multilingual configuration:

  • Languages: French and German
  • Language Filter Plugin: Enabled
  • Item Associations: Enabled
  • Automatic Language Change: Enabled
  • Language Switcher: Native Joomla module
  • Associations: Managed through Joomla menu items

Steps performed:

  1. Restored a working Joomla 6.1.4 website from backup.
  2. Verified that multilingual menu associations work correctly.
  3. Upgraded the local installation to Joomla 6.2.0.
  4. Verified that all language switcher links now point to
    the homepage of the selected language.
  5. Confirmed that the issue occurs in both directions
    (French to German and German to French).
  6. Verified that the menu item associations are still present.
  7. Confirmed that the issue also affects native Joomla articles.

Additional information:

  • The website also uses Balbooa Gridbox.
  • Multilingual associations are managed exclusively through
    native Joomla menu item associations.
  • The issue is reproducible after upgrading to Joomla 6.2.0.
  • Restoring Joomla 6.1.4 resolves the issue.

I have tried on two different installations of the same website

Image Image

Additional Comments

  • All menu item associations are correctly configured.
  • The System – Language Filter plugin has Item Associations enabled.
  • The issue affects all pages.
  • The issue also occurs with native Joomla articles, not only third-party content.
  • Both the native Joomla Language Switcher and a third-party language selector exhibit the same behavior.
  • Restoring the Joomla 6.1.4 backup immediately resolves the issue.
  • The issue has been reproduced independently on a local MAMP installation after upgrading to Joomla 6.2.0.
avatar stop-theworld stop-theworld - open - 13 Oct 2026
avatar stop-theworld stop-theworld - change - 13 Oct 2026
Labels Added: bug
avatar stop-theworld stop-theworld - labeled - 13 Oct 2026
avatar joomla-cms-bot joomla-cms-bot - change - 13 Oct 2026
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 13 Oct 2026
avatar muhme
muhme - comment - 14 Oct 2026

Can not confirm the issue. In short, tried to associate article or to associate menu items or to associate both is working in 6.1.4 and in 6.2.0. Perhaps I am missing something?

Testing with JBT

  • Grafted default Joomla_6.1.4-Stable-Full_Package.zip installation, installed de-DE and fr-FR and multilingual sample data
    • System > Plugin > Language Filer > Item Associations > Yes
  • Created articles en-GB "2nd article", de-DE "Zweiter Artikel" and fr-FR "deuxième article" and associate the articles
    • Created menu items en-GB "2nd article", de-DE "Zweiter Artikel" and fr-FR "deuxième article" with single article in using the respective article, the respective language main menu and respective language w/o menu item associations
  • Created articles en-GB "3rd article", de-DE "Dritter Artikel" and fr-FR "Article trois" and NOT associate the articles
    • Created menu items en-GB "3rd article"", de-DE "Dritter Artikel" and fr-FR "Article trois" and associate the three menu items
  • Created articles and menu items en-GB "4th article", de-DE "Vierter Artikel" and fr-FR "Article quatrième" and menu items and associate articles and menu items
  • Created articles en-GB "5th article", de-DE "Fünfter Artikel" and fr-FR "Article cinquième" and repective menu items w/o association of articles and menu items
  • Saved instance ZIP and SQL (I can hand-over for simple import in JBT or any other installation)
  • With 6.1.4 and after update to 6.2.0 there is the same result
    • The 2nd ... 5th menu entries in the three languages are linked to the articles in there languages
    • Using the language switcher, it is possible to switch between the three associated 2nd, 3rd and 4th articles; 5th article goes to main menu
avatar stop-theworld
stop-theworld - comment - 15 Oct 2026

Thank you very much for taking the time to investigate and test this issue.
As I am using Gridbox on this installation I contacted Balbooa support, and they identified the cause of the problem in the Gridbox system plugin.
They provided a modified version of plugins/system/gridbox/src/Extension/Gridbox.php, in which the initialization logic was moved from the class constructor to the onAfterInitialise event.
I tested this modification on my local Joomla 6.2.0 installation, and I can confirm that the language switcher now works correctly, with menu item associations being properly resolved.
It appears that the issue was caused by an incompatibility between the Gridbox system plugin and Joomla 6.2.0, rather than a bug in Joomla itself.
Thank you again for your help and for the detailed testing.
The issue can now be closed.

avatar HLeithner
HLeithner - comment - 15 Oct 2026

Not so good, can you share the code where and what happens? Or is this extension public available?

avatar stop-theworld
stop-theworld - comment - 15 Oct 2026

The Gridbox update of the extension is not yet publicly available.
Balbooa support provided a modified version of the system plugin file:
plugins/system/gridbox/src/Extension/Gridbox.php
In the original version, the plugin initialization was performed directly in the class constructor:

public function __construct($subject, $config)
{
$this->dispatcher = $subject;
parent::__construct($subject, $config);
$app = Factory::getApplication();
// Gridbox initialization...
}

In the corrected version, Balbooa removed this constructor and moved the initialization logic to:

public function onAfterInitialise(): void
{
if (!Factory::getApplication()->isClient('site')) {
return;
}
// Gridbox initialization...
}

I hope this will help.

avatar stop-theworld
stop-theworld - comment - 15 Oct 2026

The Gridbox update of the extension is not yet publicly available but you can find the related post on the balbooa support forum (mentioning a downloadable corrective file) :
https://www.balbooa.com/help/forums/gridbox/problem-with-multi-languages-website-after-joomla-6-2-update

Balbooa support provided a modified version of the system plugin file:
plugins/system/gridbox/src/Extension/Gridbox.php
In the original version, the plugin initialization was performed directly in the class constructor:

public function __construct($subject, $config)
{
$this->dispatcher = $subject;
parent::__construct($subject, $config);
$app = Factory::getApplication();
// Gridbox initialization...
}

In the corrected version, Balbooa removed this constructor and moved the initialization logic to:

public function onAfterInitialise(): void
{
if (!Factory::getApplication()->isClient('site')) {
return;
}
// Gridbox initialization...
}

I hope this will help.

avatar brianteeman
brianteeman - comment - 17 Oct 2026

so can you confirm if this is a problem with Joomla core or with the extension

avatar stop-theworld
stop-theworld - comment - 17 Oct 2026

Based on my testing, the issue appears to be related to the Balbooa Gridbox extension rather than Joomla core.
The problem occurred after upgrading from Joomla 6.1.4 to 6.2.0, but Balbooa provided a fix that moves the plugin initialization logic from the class constructor to the onAfterInitialise event.
After applying this fix, the language switcher and menu item associations work correctly again on Joomla 6.2.0.
So I can confirm that the extension-side fix resolves the issue, although I cannot determine whether a change in Joomla 6.2.0 contributed to exposing the incompatibility.

avatar stop-theworld
stop-theworld - comment - 17 Oct 2026

Based on my testing, the issue appears to be related to the Balbooa Gridbox extension rather than Joomla core.
The problem occurred after upgrading from Joomla 6.1.4 to 6.2.0, but Balbooa provided a fix that moves the plugin initialization logic from the class constructor to the onAfterInitialise event.
After applying this fix, the language switcher and menu item associations work correctly again on Joomla 6.2.0.
So I can confirm that the extension-side fix resolves the issue, although I cannot determine whether a change in Joomla 6.2.0 contributed to exposing the incompatibility. Balbooa confirmed that this fix will be included in the next Gridbox update.

avatar HLeithner HLeithner - change - 17 Oct 2026
Status New ⇒ Closed
Closed_Date 0000-00-00 00:00:00 ⇒ 2026-10-17 16:52:01
Closed_By ⇒ HLeithner
avatar HLeithner HLeithner - close - 17 Oct 2026
avatar HLeithner
HLeithner - comment - 17 Oct 2026

thanks for sharing the code, so it's actually a wrong way the extension using the joomla api, you shouldn't do anything in the constructor since we can't guarantee when and if it's called.

I'm closing this issues now. Thanks for the report

Add a Comment

Login with GitHub to post a comment