--- strigi/src/streamanalyzer/fieldproperties.cpp	(revision 724254)
+++ strigi/src/streamanalyzer/fieldproperties.cpp	(revision 724402)
@@ -25,7 +25,6 @@
 using namespace Strigi;
 using namespace std;
 
-const string FieldProperties::Private::empty;
 FieldProperties::FieldProperties() :p(new Private()) {
 }
 FieldProperties::FieldProperties(const Private& pr) :p(new Private(pr)) {}
@@ -102,12 +101,12 @@
 const string&
 FieldProperties::localizedName(const string& locale) const {
     map<string,Localized>::iterator i = p->localized.find(locale);
-    return (i == p->localized.end()) ?Private::empty :i->second.name;
+    return (i == p->localized.end()) ?empty() :i->second.name;
 }
 const string&
 FieldProperties::localizedDescription(const string& locale) const {
     map<string,Localized>::iterator i = p->localized.find(locale);
-    return (i == p->localized.end()) ?Private::empty :i->second.description;
+    return (i == p->localized.end()) ?empty() :i->second.description;
 }
 const vector<string>&
 FieldProperties::parentUris() const {
--- strigi/src/streamanalyzer/fieldpropertiesdb.cpp	(revision 724254)
+++ strigi/src/streamanalyzer/fieldpropertiesdb.cpp	(revision 724402)
@@ -47,8 +47,8 @@
 public:
     map<string, FieldProperties> properties;
     map<string, ClassProperties> classes;
-    static FieldProperties emptyField;
-    static ClassProperties emptyClass;
+    static const FieldProperties& emptyField();
+    static const ClassProperties& emptyClass();
 
     Private();
     static vector<string> getdirs(const string&);
@@ -94,8 +94,16 @@
 
 };
 
-FieldProperties FieldPropertiesDb::Private::emptyField;
-ClassProperties FieldPropertiesDb::Private::emptyClass;
+const FieldProperties&
+FieldPropertiesDb::Private::emptyField() {
+    static FieldProperties e;
+    return e;
+}
+const ClassProperties&
+FieldPropertiesDb::Private::emptyClass() {
+    static ClassProperties f;
+    return f;
+}
 
 FieldPropertiesDb&
 FieldPropertiesDb::db() {
@@ -112,7 +120,7 @@
     map<std::string, FieldProperties>::const_iterator j
         = p->properties.find(uri);
     if (j == p->properties.end()) {
-        return FieldPropertiesDb::Private::emptyField;
+        return FieldPropertiesDb::Private::emptyField();
     } else {
         return j->second;
     }
@@ -126,7 +134,7 @@
 FieldPropertiesDb::classes(const std::string& uri) const {
     map<std::string, ClassProperties>::const_iterator j = p->classes.find(uri);
     if (j == p->classes.end()) {
-        return FieldPropertiesDb::Private::emptyClass;
+        return FieldPropertiesDb::Private::emptyClass();
     } else {
         return j->second;
     }
--- strigi/src/streamanalyzer/classproperties.cpp	(revision 724254)
+++ strigi/src/streamanalyzer/classproperties.cpp	(revision 724402)
@@ -25,7 +25,6 @@
 using namespace Strigi;
 using namespace std;
 
-const string ClassProperties::Private::empty;
 ClassProperties::ClassProperties() :p(new Private()) {
 }
 ClassProperties::ClassProperties(const Private& pr) :p(new Private(pr)) {}
@@ -70,12 +69,12 @@
 const string&
 ClassProperties::localizedName(const string& locale) const {
     map<string,Localized>::iterator i = p->localized.find(locale);
-    return (i == p->localized.end()) ?Private::empty :i->second.name;
+    return (i == p->localized.end()) ?empty() :i->second.name;
 }
 const string&
 ClassProperties::localizedDescription(const string& locale) const {
     map<string,Localized>::iterator i = p->localized.find(locale);
-    return (i == p->localized.end()) ?Private::empty :i->second.description;
+    return (i == p->localized.end()) ?empty() :i->second.description;
 }
 const vector<string>&
 ClassProperties::parentUris() const {
--- strigi/src/streamanalyzer/fieldproperties_private.h	(revision 724254)
+++ strigi/src/streamanalyzer/fieldproperties_private.h	(revision 724402)
@@ -24,12 +24,18 @@
 #include "fieldproperties.h"
 #include "fieldtypes.h"
 
+namespace {
+    const std::string& empty() {
+        static std::string e;
+        return e;
+    }
+}
+
 namespace Strigi {
 
 class FieldProperties::Private {
 friend class FieldPropertiesDb;
 public:
-    static const std::string empty;
     std::string uri;
     std::string name;
     std::string typeuri;
@@ -69,7 +75,6 @@
 class ClassProperties::Private {
 friend class FieldPropertiesDb;
 public:
-    static const std::string empty;
     std::string uri;
     std::string name;
     std::string description;
