diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java
index bf3d7911eb635cf3755bc99e98a05259b3830456..d8416880d1ddbabbdd4f90cb2d5f90e7167394e5 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java
@@ -27,8 +27,6 @@ import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import kieker.analysis.AnalysisController;
 import kieker.analysis.model.analysisMetaModel.MIDependency;
@@ -53,7 +51,7 @@ public final class PluginClassLoader extends ClassLoader {
 	 */
 	private static PluginClassLoader instance;
 
-	private final List<URL> list = new ArrayList<URL>();
+	private final List<URL> urlList = new ArrayList<URL>();
 
 	private URLClassLoader classLoader = null;
 
@@ -61,7 +59,7 @@ public final class PluginClassLoader extends ClassLoader {
 	 * The default constructor of this class. During the creation all available libraries will be added to the class loader.
 	 */
 	private PluginClassLoader() {
-		this.classLoader = new URLClassLoader(new URL[]{}, AnalysisController.class.getClassLoader());
+		this.classLoader = new URLClassLoader(new URL[] {}, AnalysisController.class.getClassLoader());
 		/* Make sure that all libs are loaded. */
 		final List<MIDependency> libs = FileManager.getInstance().loadAllDependencies();
 		for (final MIDependency lib : libs) {
@@ -80,9 +78,15 @@ public final class PluginClassLoader extends ClassLoader {
 	 *            The URL of the dependency to be added.
 	 */
 	public void addURL(final URL url) {
-		this.list.add(url);
+		this.urlList.add(url);
 
-		this.classLoader = new URLClassLoader(this.list.toArray(new URL[this.list.size()]), AnalysisController.class.getClassLoader());
+		this.classLoader = (URLClassLoader) AccessController.doPrivileged(new PrivilegedAction() {
+			@Override
+			public Object run() {
+				return new URLClassLoader(PluginClassLoader.this.urlList.toArray(new URL[PluginClassLoader.this.urlList.size()]), AnalysisController.class
+						.getClassLoader());
+			}
+		});
 	}
 
 	/**
@@ -92,9 +96,15 @@ public final class PluginClassLoader extends ClassLoader {
 	 *            The URL of the dependency to be added.
 	 */
 	public void removeURL(final URL url) {
-		this.list.remove(url);
+		this.urlList.remove(url);
 
-		this.classLoader = new URLClassLoader(this.list.toArray(new URL[this.list.size()]), AnalysisController.class.getClassLoader());
+		this.classLoader = (URLClassLoader) AccessController.doPrivileged(new PrivilegedAction() {
+			@Override
+			public Object run() {
+				return new URLClassLoader(PluginClassLoader.this.urlList.toArray(new URL[PluginClassLoader.this.urlList.size()]), AnalysisController.class
+						.getClassLoader());
+			}
+		});
 	}
 
 	/**
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java
index 5ec6c8550ea46d1201f56ccc8f1fa427366f1b7f..5d3619c2b4d258f44b7d2b554be6396eebf7edbf 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java
@@ -66,7 +66,7 @@ public final class PluginFinder {
 	 */
 	public static List<Class<AbstractRepository>> getAllRepositoriesWithinJar(final URL url) {
 		// TODO: Merge this with the other method
-		final List<Class<AbstractRepository>> repositoryClasses = (List<Class<AbstractRepository>>) REPOSITORY_CACHE.get(url);
+		final List<Class<AbstractRepository>> repositoryClasses = (List<Class<AbstractRepository>>) PluginFinder.REPOSITORY_CACHE.get(url);
 		if (repositoryClasses != null) {
 			return repositoryClasses;
 		}
@@ -96,7 +96,7 @@ public final class PluginFinder {
 				}
 			}
 			jarFile.close();
-			REPOSITORY_CACHE.put(url, result);
+			PluginFinder.REPOSITORY_CACHE.put(url, result);
 			return result;
 		} catch (final IOException ex) {
 			ex.printStackTrace();
@@ -113,7 +113,7 @@ public final class PluginFinder {
 	 * @return A list containing all available plugin-classes or null, if an exception occurred.
 	 */
 	public static List<Class<AbstractPlugin>> getAllPluginsWithinJar(final URL url) {
-		final List<Class<AbstractPlugin>> pluginClasses = (List<Class<AbstractPlugin>>) PLUGIN_CACHE.get(url);
+		final List<Class<AbstractPlugin>> pluginClasses = (List<Class<AbstractPlugin>>) PluginFinder.PLUGIN_CACHE.get(url);
 		if (pluginClasses != null) {
 			return pluginClasses;
 		}
@@ -146,7 +146,7 @@ public final class PluginFinder {
 				}
 			}
 			jarFile.close();
-			PLUGIN_CACHE.put(url, result);
+			PluginFinder.PLUGIN_CACHE.put(url, result);
 			return result;
 		} catch (final IOException ex) {
 			ex.printStackTrace();