diff --git a/kml/kml_tests/gpx_tests.cpp b/kml/kml_tests/gpx_tests.cpp
index be0ef78783..cd3a1062d0 100644
--- a/kml/kml_tests/gpx_tests.cpp
+++ b/kml/kml_tests/gpx_tests.cpp
@@ -240,10 +240,12 @@ d5
c4
+ 5qqqqqq
)";
kml::FileData const dataFromText = loadGpxFromString(input);
TEST_EQUAL("d1", dataFromText.m_bookmarksData[0].m_description.at(kml::kDefaultLang), ());
TEST_EQUAL("d2\n\nc2", dataFromText.m_bookmarksData[1].m_description.at(kml::kDefaultLang), ());
TEST_EQUAL("c3", dataFromText.m_bookmarksData[2].m_description.at(kml::kDefaultLang), ());
TEST_EQUAL("d4\nd5\n\nc4", dataFromText.m_bookmarksData[3].m_description.at(kml::kDefaultLang), ());
+ TEST_EQUAL("qqq", dataFromText.m_bookmarksData[4].m_description.at(kml::kDefaultLang), ());
}
\ No newline at end of file
diff --git a/kml/serdes_gpx.cpp b/kml/serdes_gpx.cpp
index 2d1ea1f90b..f69c1933cc 100644
--- a/kml/serdes_gpx.cpp
+++ b/kml/serdes_gpx.cpp
@@ -349,6 +349,8 @@ std::string GpxParser::BuildDescription()
return m_comment;
else if (m_comment.empty())
return m_description;
+ else if (m_description == m_comment)
+ return m_description;
return m_description + "\n\n" + m_comment;
}