diff --git a/core/src/main/AndroidManifest.xml b/core/src/main/AndroidManifest.xml
index 4251296c5..ad07d5c3f 100644
--- a/core/src/main/AndroidManifest.xml
+++ b/core/src/main/AndroidManifest.xml
@@ -31,7 +31,7 @@
 			android:label="@string/app_name"
 			android:name=".ShatteredPixelDungeon"
 			android:configChanges="keyboardHidden|orientation|screenSize"
-			android:screenOrientation="sensorPortrait">
+			android:screenOrientation="nosensor">
 			<intent-filter >
 				<action android:name="android.intent.action.MAIN" />
 				<category android:name="android.intent.category.LAUNCHER" />
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Preferences.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Preferences.java
index 33d38114a..73f803a59 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Preferences.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Preferences.java
@@ -58,6 +58,10 @@ enum Preferences {
 		return prefs;
 	}
 
+	boolean contains( String key ){
+		return get().contains( key );
+	}
+
 	int getInt( String key, int defValue ) {
 		return getInt(key, defValue, Integer.MIN_VALUE, Integer.MAX_VALUE);
 	}
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java
index a315f5790..df78f0d75 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java
@@ -171,16 +171,19 @@ public class ShatteredPixelDungeon extends Game {
 		super.onCreate(savedInstanceState);
 
 		updateImmersiveMode();
-
-		DisplayMetrics metrics = new DisplayMetrics();
-		if (immersed() && Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1)
-			getWindowManager().getDefaultDisplay().getRealMetrics( metrics );
-		else
-			getWindowManager().getDefaultDisplay().getMetrics( metrics );
-		boolean landscape = metrics.widthPixels > metrics.heightPixels;
 		
-		if (Preferences.INSTANCE.getBoolean( Preferences.KEY_LANDSCAPE, false ) != landscape) {
-			landscape( !landscape );
+		if (Preferences.INSTANCE.contains( Preferences.KEY_LANDSCAPE )){
+			landscape ( Preferences.INSTANCE.getBoolean( Preferences.KEY_LANDSCAPE, false));
+
+		} else {
+			DisplayMetrics metrics = new DisplayMetrics();
+			if (immersed() && Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1)
+				getWindowManager().getDefaultDisplay().getRealMetrics( metrics );
+			else
+				getWindowManager().getDefaultDisplay().getMetrics( metrics );
+			boolean landscape = metrics.widthPixels > metrics.heightPixels;
+
+			landscape( landscape );
 		}
 		
 		Music.INSTANCE.enable( music() );