diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/util/LabelManagerImpl.java b/webgoat-container/src/main/java/org/owasp/webgoat/util/LabelManagerImpl.java
index 6efd3b8c0..0e36b7117 100644
--- a/webgoat-container/src/main/java/org/owasp/webgoat/util/LabelManagerImpl.java
+++ b/webgoat-container/src/main/java/org/owasp/webgoat/util/LabelManagerImpl.java
@@ -1,12 +1,14 @@
 
 package org.owasp.webgoat.util;
 
-import java.util.Locale;
-import javax.annotation.Resource;
 import org.springframework.context.annotation.Scope;
 import org.springframework.context.annotation.ScopedProxyMode;
 import org.springframework.stereotype.Component;
 
+import javax.inject.Inject;
+import java.io.Serializable;
+import java.util.Locale;
+
 
 /***************************************************************************************************
  * 
@@ -37,14 +39,20 @@ import org.springframework.stereotype.Component;
  */
 @Component("labelManager")
 @Scope(value="session", proxyMode=ScopedProxyMode.INTERFACES)
-public class LabelManagerImpl implements LabelManager
+public class LabelManagerImpl implements LabelManager, Serializable
 {
-	@Resource
-	private LabelProvider labelProvider;
+	private transient LabelProvider labelProvider;
 
 	/** Locale mapped with current session. */
 	private Locale locale = new Locale(LabelProvider.DEFAULT_LANGUAGE);
 
+	protected LabelManagerImpl() {}
+
+	@Inject
+	public LabelManagerImpl(LabelProvider labelProvider) {
+		this.labelProvider = labelProvider;
+	}
+
 	public void setLocale(Locale locale)
 	{
 		if (locale != null)
diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/util/LabelManagerImplTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/util/LabelManagerImplTest.java
new file mode 100644
index 000000000..8f25894f8
--- /dev/null
+++ b/webgoat-container/src/test/java/org/owasp/webgoat/util/LabelManagerImplTest.java
@@ -0,0 +1,26 @@
+package org.owasp.webgoat.util;
+
+import org.junit.Test;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+
+public class LabelManagerImplTest {
+
+    @Test
+    public void shouldSerialize() throws IOException {
+        LabelManagerImpl labelManager = new LabelManagerImpl(null);
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        ObjectOutputStream out = new ObjectOutputStream(bos);
+        out.writeObject(labelManager);
+    }
+
+    @Test
+    public void shouldSerializeWithLabelProvider() throws IOException {
+        LabelManagerImpl labelManager = new LabelManagerImpl(new LabelProvider());
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        ObjectOutputStream out = new ObjectOutputStream(bos);
+        out.writeObject(labelManager);
+    }
+}
\ No newline at end of file