diff --git a/ATxCommon/Serializables/ServiceConfig.cs b/ATxCommon/Serializables/ServiceConfig.cs
index dca7acc7f9fb336ab532be098e68891ff5b30ec4..07a05da22da9823fad4bcacffbd6805224128621 100644
--- a/ATxCommon/Serializables/ServiceConfig.cs
+++ b/ATxCommon/Serializables/ServiceConfig.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Configuration;
 using System.IO;
+using System.Xml;
 using System.Xml.Serialization;
 using NLog;
 
@@ -34,10 +35,11 @@ namespace ATxCommon.Serializables
 
         public static ServiceConfig Deserialize(string file) {
             Log.Debug("Trying to read service configuration XML file: [{0}]", file);
-            var xs = new XmlSerializer(typeof(ServiceConfig));
-            var reader = File.OpenText(file);
-            var config = (ServiceConfig) xs.Deserialize(reader);
-            reader.Close();
+            var serializer = new XmlSerializer(typeof(ServiceConfig));
+            ServiceConfig config;
+            using (var reader = XmlReader.Create(file)) {
+                config = (ServiceConfig) serializer.Deserialize(reader);
+            }
             ValidateConfiguration(config);
             Log.Debug("Finished deserializing service configuration XML file.");
             return config;