diff --git a/src/common/logger.py b/src/common/logger.py
index f3261018892d940fa7b28875dbc8ed740c68a8f3..577d7a4d672fc11c834a099952cea303ddf897e4 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -36,7 +36,10 @@ if os.name == 'nt':
 		# win9x, ./logs
 		LOGPATH = 'Logs'
 
-LOGPATH = LOGPATH.decode(sys.getfilesystemencoding())
+try:
+	LOGPATH = LOGPATH.decode(sys.getfilesystemencoding())
+except:
+	pass
 
 class Logger:
 	def __init__(self):
diff --git a/src/common/optparser.py b/src/common/optparser.py
index 0dc670e6cf3189ba9e9bd3d8cc29def4e5072e60..c73abc947d590894812f6ec61a2d91f615cd20bd 100644
--- a/src/common/optparser.py
+++ b/src/common/optparser.py
@@ -86,8 +86,11 @@ class OptionsParser:
 	
 	def write(self):
 		(base_dir, filename) = os.path.split(self.__filename)
-		base_dir = base_dir.decode(sys.getfilesystemencoding())
-		filename = filename.decode(sys.getfilesystemencoding())
+		try:
+			base_dir = base_dir.decode(sys.getfilesystemencoding())
+			filename = filename.decode(sys.getfilesystemencoding())
+		except:
+			pass
 		self.__tempfile = os.path.join(base_dir, '.' + filename)
 		try:
 			fd = open(self.__tempfile, 'w')
diff --git a/src/config.py b/src/config.py
index fd8b7f1442279c7a5893d0661752213623075238..5fa231849c703858a95ffc563c34508a592c313b 100644
--- a/src/config.py
+++ b/src/config.py
@@ -989,7 +989,10 @@ class PreferencesWindow:
 			if response != gtk.RESPONSE_OK:
 				break
 			file = dialog.get_filename()
-			file = file.decode(sys.getfilesystemencoding())
+			try:
+				file = file.decode(sys.getfilesystemencoding())
+			except:
+				pass
 			if os.path.exists(file):
 				break
 		dialog.destroy()
@@ -2116,7 +2119,10 @@ class ManageEmoticonsWindow:
 			response = dialog.run()
 			if response == gtk.RESPONSE_OK:
 				file = dialog.get_filename()
-				file = file.decode(sys.getfilesystemencoding())
+				try:
+					file = file.decode(sys.getfilesystemencoding())
+				except:
+					pass
 				if self.image_is_ok(file):
 					ok = True
 			else:
diff --git a/src/vcard.py b/src/vcard.py
index 3eca0660fd7c82b1d8fddb8845fd82f52685f898..abc3219571ff0b2c0691c345e3f34d05f5c583b1 100644
--- a/src/vcard.py
+++ b/src/vcard.py
@@ -166,7 +166,10 @@ class VcardWindow:
 			response = dialog.run()
 			if response == gtk.RESPONSE_OK:
 				f = dialog.get_filename()
-				f = f.decode(sys.getfilesystemencoding())
+				try:
+					f = f.decode(sys.getfilesystemencoding())
+				except:
+					pass
 				if self.image_is_ok(f):
 					ok = True
 			else: