// Assign translations
                for _, t1 := range nodes {
                        for _, t2 := range nodes {
-                               if t2.isNewTranslation(t1) {
+                               if t1.isNewTranslation(t2) {
                                        t1.translations = append(t1.translations, t2)
                                }
                        }
 
        }
 }
 
+func TestMultiSitesWithTwoLanguages(t *testing.T) {
+       testCommonResetState()
+
+       viper.Set("defaultContentLanguage", "nn")
+
+       writeSource(t, "config.toml", `
+[languages]
+[languages.nn]
+languageName = "Nynorsk"
+weight = 1
+title = "Tittel på Nynorsk"
+
+[languages.en]
+title = "Title in English"
+languageName = "English"
+weight = 2
+`,
+       )
+
+       if err := LoadGlobalConfig("", "config.toml"); err != nil {
+               t.Fatalf("Failed to load config: %s", err)
+       }
+
+       // Add some data
+       writeSource(t, "data/hugo.toml", "slogan = \"Hugo Rocks!\"")
+
+       sites, err := NewHugoSitesFromConfiguration()
+
+       if err != nil {
+               t.Fatalf("Failed to create sites: %s", err)
+       }
+
+       require.NoError(t, sites.Build(BuildCfg{}))
+       require.Len(t, sites.Sites, 2)
+
+       nnSite := sites.Sites[0]
+       nnSiteHome := nnSite.getPage(KindHome)
+       require.Len(t, nnSiteHome.AllTranslations(), 2)
+       require.Len(t, nnSiteHome.Translations(), 1)
+       require.True(t, nnSiteHome.IsTranslated())
+
+}
+
 //
 func TestMultiSitesBuild(t *testing.T) {
        for _, config := range []struct {
 
 }
 
 func (p *Page) isNewTranslation(candidate *Page) bool {
-       if p == candidate || p.Kind != candidate.Kind {
+
+       if p.Kind != candidate.Kind {
                return false
        }
 
                panic("Node type not currently supported for this op")
        }
 
-       if p.language.Lang == candidate.language.Lang {
-               return false
-       }
-
        // At this point, we know that this is a traditional Node (home page, section, taxonomy)
        // It represents the same node, but different language, if the sections is the same.
        if len(p.sections) != len(candidate.sections) {
        }
 
        // Finally check that it is not already added.
-       for _, translation := range candidate.translations {
-               if p == translation {
+       for _, translation := range p.translations {
+               if candidate == translation {
                        return false
                }
        }