diff --git a/simgear/misc/sg_dir.cxx b/simgear/misc/sg_dir.cxx
index 208a05ed..0c8065c3 100644
--- a/simgear/misc/sg_dir.cxx
+++ b/simgear/misc/sg_dir.cxx
@@ -341,6 +341,10 @@ bool Dir::create(mode_t mode)
bool Dir::removeChildren() const
{
+ if (!exists()) {
+ return true;
+ }
+
bool ok;
PathList cs = children(NO_DOT_OR_DOTDOT | INCLUDE_HIDDEN | TYPE_FILE | TYPE_DIR);
BOOST_FOREACH(SGPath path, cs) {
diff --git a/simgear/package/CatalogTest.cxx b/simgear/package/CatalogTest.cxx
index 8881fd3a..d1bd629a 100644
--- a/simgear/package/CatalogTest.cxx
+++ b/simgear/package/CatalogTest.cxx
@@ -178,6 +178,16 @@ int parseTest()
unsigned int skisVariant = p2->indexOfVariant("c172p-skis");
VERIFY(skisVariant > 0);
+
+ COMPARE(p2->getLocalisedProp("description", skisVariant), "A plane with skis");
+ COMPARE(p2->getLocalisedProp("author", skisVariant), "Standard author");
+
+ unsigned int floatsVariant = p2->indexOfVariant("c172p-floats");
+ VERIFY(floatsVariant > 0);
+
+ COMPARE(p2->getLocalisedProp("description", floatsVariant), "A plane with floats");
+ COMPARE(p2->getLocalisedProp("author", floatsVariant), "Floats variant author");
+
pkg::Package::ThumbnailVec thumbs2 = p2->thumbnailsForVariant(skisVariant);
COMPARE(thumbs2.size(), 2);
diff --git a/simgear/package/catalogTest1/catalog.xml b/simgear/package/catalogTest1/catalog.xml
index ab8ab4f1..a9ccc5dd 100644
--- a/simgear/package/catalogTest1/catalog.xml
+++ b/simgear/package/catalogTest1/catalog.xml
@@ -29,6 +29,7 @@
A plane made by Cessna
42
860
+ Standard author
cessna
ga
@@ -73,6 +74,8 @@
c172p-floats
C172 with floats
+ A plane with floats
+ Floats variant author
exterior
@@ -90,6 +93,7 @@
c172p-skis
C172 with skis
+ A plane with skis
exterior