diff --git a/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java b/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java
index 1db60fb101837f2f8dbb083dcbd1f91e25475b55..7660bbb0a52c2ace2a30f90f35f10145e6368f39 100644
--- a/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java
+++ b/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java
@@ -10,6 +10,7 @@ import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.InputProcessor;
 import com.badlogic.gdx.ScreenAdapter;
 import com.badlogic.gdx.assets.AssetManager;
+import com.badlogic.gdx.audio.Sound;
 import com.badlogic.gdx.files.FileHandle;
 import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
@@ -72,6 +73,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 	
 	private Stage 					stage;
 	private AssetManager 			textureManager;
+	private AssetManager 			soundManager;
 	private TextManager 			textManager;
 	private DataManager 			dataManager;
 	private ScreenLoadingListener 	screenLoadingListener;
@@ -82,6 +84,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 	public AbstractTablexiaScreen() {
 		stage = prepareStage();
 		textureManager 	= new AssetManager();
+		soundManager 	= new AssetManager();
 		textManager 	= new TextManager();
 		dataManager 	= new DataManager();
 		
@@ -139,6 +142,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 	public final void show() {
 		if (!loadingComplete) {
 			startTextureLoader();
+			startSoundLoader();
 			startTextLoader();
 			startDataLoader();
 			loadingStarted = true;
@@ -158,6 +162,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 		if (!loadingComplete) {
 			if (loadingStarted) {				
 				if (!textureManager.update()) return;
+				if (!soundManager.update()) return;
 				if (!textManager.update()) return;
 				if (!dataManager.update()) return;
 				loadingComplete = true;
@@ -176,6 +181,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 	public final void dispose() {
 		stage.dispose();
 		textureManager.dispose();
+		soundManager.dispose();
 		textManager.dispose();
 		dataManager.dispose();
 		performScreenDisposed();
@@ -211,6 +217,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 	protected void screenResized(int width, int height) {};
 	
 	protected void 			prepareScreenTextureAssetNames(List<String> texturesFileNames) {}
+	protected void 			prepareScreenSoundAssetNames(List<String> soundsFileNames) {}
 	protected String 		prepareScreenTextResourcesAssetName() {
 		return null;
 	}
@@ -229,6 +236,14 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 		}
 	}
 	
+	private void startSoundLoader() {
+		List<String> soundsFileNames = new ArrayList<String>();
+		prepareScreenSoundAssetNames(soundsFileNames);
+		for (String soundFileName : soundsFileNames) {
+			textureManager.load(soundFileName, Sound.class);
+		}
+	}
+	
 	private void startTextLoader() {
 		textManager.load(new Locale("cs", "CZ"), prepareScreenTextResourcesAssetName());
 	}
@@ -242,6 +257,10 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
 		return textureManager.get(textureName, Texture.class);
 	}
 	
+	public Sound getSound(String soundName) {
+		return soundManager.get(soundName, Sound.class);
+	}
+	
 	public String getText(String key) {
 		return textManager.getResult().get(key);
 	}