diff --git a/core/src/cz/nic/tablexia/Tablexia.java b/core/src/cz/nic/tablexia/Tablexia.java
index f64728686422600a38e980da277ecca65cbb1f33..1c1ea3c7a3d34b9a1294d64ea78ab22adbb04db5 100644
--- a/core/src/cz/nic/tablexia/Tablexia.java
+++ b/core/src/cz/nic/tablexia/Tablexia.java
@@ -132,11 +132,13 @@ public class Tablexia extends TablexiaApplication {
     }
 
     private void startLoading(Locale locale) {
+        // Prepare fonts (Fonts need to be loaded before any screen is active)
+        ApplicationFontManager.getInstance().load();
+
         // sync loaded screen with loader image
         setScreen(Utility.getScreenForScreenClass(TablexiaSettings.LOADER_SCREEN, null));
 
         // async internal assets loading
-		ApplicationFontManager.getInstance().load();
 		ApplicationTextManager.getInstance().load(locale);
         ApplicationInternalSoundManager.getInstance().load();
         ApplicationInternalTextureManager.getInstance().load();
diff --git a/core/src/cz/nic/tablexia/loader/IApplicationLoader.java b/core/src/cz/nic/tablexia/loader/IApplicationLoader.java
index bdb2faa1f27253e02c6e1c04611652e5364cc89a..796809a9390d7256f1288eb8577382c545d28168 100644
--- a/core/src/cz/nic/tablexia/loader/IApplicationLoader.java
+++ b/core/src/cz/nic/tablexia/loader/IApplicationLoader.java
@@ -2,6 +2,7 @@ package cz.nic.tablexia.loader;
 
 public interface IApplicationLoader {
 	
-	public boolean update();
+	boolean update();
+	void dispose();
 	
 }
diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java
index 0dc9ccae9ded50ce979ae0fa1dc399ad0544c9cf..d2da0ad474e536ae298c50626a307d76075f147e 100644
--- a/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java
+++ b/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java
@@ -1,7 +1,6 @@
 package cz.nic.tablexia.loader.application;
 
 import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.assets.AssetManager;
 import com.badlogic.gdx.graphics.g2d.DistanceFieldFont;
 import com.badlogic.gdx.graphics.glutils.ShaderProgram;
 
@@ -13,7 +12,8 @@ import cz.nic.tablexia.loader.IApplicationLoader;
  * @author Matyáš Latner
  *
  */
-public class ApplicationFontManager extends AssetManager implements IApplicationLoader {
+public class ApplicationFontManager implements IApplicationLoader {
+
 	public enum FontType_NEW {
 		REGULAR_10  (10, false),
 		REGULAR_12  (12, false),
@@ -97,14 +97,16 @@ public class ApplicationFontManager extends AssetManager implements IApplication
 		}
 		return instance;
 	}
-	
-	@Override
-	public synchronized void dispose() {
-		super.dispose();
-		instance = null;
+
+	public ShaderProgram getDistanceFieldShader() {
+		return distanceFieldShader;
 	}
 
-	private void loadSDFFont() {
+	public DistanceFieldFont getDistanceFieldFont(FontType_NEW fontType) {
+		return fontType.isBold() ? robotoBoldFont : robotoRegularFont;
+	}
+	
+	public void load() {
 		robotoRegularFont = new DistanceFieldFont(Gdx.files.internal(ROBOTO_REGULAR_FONT_FILE), false);
 		robotoRegularFont.setUseIntegerPositions(false);
 		robotoRegularFont.setDistanceFieldSmoothing(ApplicationFontManager.DISTANCE_FIELD_FONT_SIZE);
@@ -120,15 +122,16 @@ public class ApplicationFontManager extends AssetManager implements IApplication
 //		distanceFieldShader.pedantic = false;
 	}
 
-	public ShaderProgram getDistanceFieldShader() {
-		return distanceFieldShader;
-	}
 
-	public DistanceFieldFont getDistanceFieldFont(FontType_NEW fontType) {
-		return fontType.isBold() ? robotoBoldFont : robotoRegularFont;
+//////////////////////////// IApplicationLoader
+
+	@Override
+	public boolean update() {
+		return true;
 	}
-	
-	public void load() {
-		loadSDFFont();
+
+	@Override
+	public synchronized void dispose() {
+		instance = null;
 	}
 }
\ No newline at end of file