diff --git a/contrib/mobile/Android/AndroidManifest.xml b/contrib/mobile/Android/AndroidManifest.xml
index b430e252b54b04b86c84e05a4d15a405adcba77d..497f8065556a33df74c85949cc7eddab956dfdb0 100644
--- a/contrib/mobile/Android/AndroidManifest.xml
+++ b/contrib/mobile/Android/AndroidManifest.xml
@@ -5,12 +5,12 @@
     android:installLocation="auto"
     >
 
-    <uses-feature android:glEsVersion="0x00010000" android:required="true"></uses-feature>
     <uses-sdk
         android:targetSdkVersion="17"
         android:minSdkVersion="14" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.VIBRATE"/>
+    <uses-feature android:glEsVersion="0x00010000" android:required="true" />
 
     <application
         android:icon="@drawable/ic_launcher"
@@ -32,7 +32,7 @@
         <activity
             android:name=".MainActivity"
             android:label="@string/title_activity_main"
-            android:screenOrientation="landscape" >
+            >
             <intent-filter>
 				<action android:name="android.intent.action.VIEW" />
 				<category android:name="android.intent.category.DEFAULT" />
@@ -44,11 +44,11 @@
          <activity
             android:name=".PostProcessingActivity"
             android:label="@string/title_activity_main"
-            android:screenOrientation="landscape" />
+             />
         <activity 
             android:name=".OptionsActivity"
             android:label="@string/title_activity_options"
-            android:screenOrientation="landscape" />
+             />
     </application>
 
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/contrib/mobile/Android/res/raw/models.zip b/contrib/mobile/Android/res/raw/models.zip
index c97774202966cc557d8262faa482cd0965fb3340..c0c8cc6619ce865707060cc8b78f0dd01eb01489 100644
Binary files a/contrib/mobile/Android/res/raw/models.zip and b/contrib/mobile/Android/res/raw/models.zip differ
diff --git a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java
index e835b8bc55152285c88c3269221b1e24ab3aa926..0234b3796b0401a2cb8ad4b83bcdf1c2547d646e 100644
--- a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java
+++ b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java
@@ -15,6 +15,7 @@ import android.app.PendingIntent;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.database.Cursor;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
 import android.net.Uri;
@@ -22,6 +23,7 @@ import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Parcelable;
+import android.provider.MediaStore;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.Window;
@@ -61,7 +63,8 @@ public class MainActivity extends Activity{
     		_gmsh.load(tmp);
     	}  		
     	else if(extras != null) {
-    		//extras.getString("name");
+    		String name = extras.getString("name");
+    		this.getActionBar().setTitle(name);
     		String tmp = extras.getString("file");
     		_gmsh.load(tmp);
     	}
@@ -69,10 +72,10 @@ public class MainActivity extends Activity{
     		this.finish();
     	_twoPane = (findViewById(R.id.parameter_fragment) != null);
     	_modelFragment = ModelFragment.newInstance(_gmsh);
-		getFragmentManager().beginTransaction().add(R.id.model_fragment, _modelFragment).commit();
+		getFragmentManager().beginTransaction().replace(R.id.model_fragment, _modelFragment).commit();
     	if(_twoPane) {
     		_optionsFragment = OptionsFragment.newInstance(_gmsh);
-    		getFragmentManager().beginTransaction().add(R.id.parameter_fragment, _optionsFragment).commit();
+    		getFragmentManager().beginTransaction().replace(R.id.parameter_fragment, _optionsFragment).commit();
     		_optionsFragment.setOnOptionsChangedListener(new OptionsFragment.OnOptionsChangedListener() {
     			
     			public void OnOptionsChanged() {
@@ -178,6 +181,14 @@ public class MainActivity extends Activity{
 		}
 	}
 	
+	public String getRealPathFromURI(Uri contentUri) {
+        String[] proj = { MediaStore.Images.Media.DATA };
+        Cursor cursor = managedQuery(contentUri, proj, null, null, null);
+        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
+        cursor.moveToFirst();
+        return cursor.getString(column_index);
+    }
+	
 	private class Run extends AsyncTask<Void, Void, Integer[]> {
 
     	@Override
diff --git a/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java
index 6ba536201e9a6be3c0b5f51c6b55aca138617560..73e3f349d8af946c9d2d6607a7baf388ecd41139 100644
--- a/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java
+++ b/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java
@@ -22,7 +22,7 @@ public class OptionsActivity extends Activity {
 		getActionBar().setDisplayHomeAsUpEnabled(true);
 		getActionBar().setTitle(R.string.title_activity_options);
 		OptionsFragment optionsFragment = OptionsFragment.newInstance(gmsh);
-		getFragmentManager().beginTransaction().add(R.id.model_fragment, optionsFragment).commit();
+		getFragmentManager().beginTransaction().replace(R.id.model_fragment, optionsFragment).commit();
 	}
 	
 	@Override
diff --git a/contrib/mobile/Android/src/org/geuz/onelab/OptionsFragment.java b/contrib/mobile/Android/src/org/geuz/onelab/OptionsFragment.java
index 0a17bc687b1fb9b06cc280e1846f054ce18a67ea..bcf1f3b9dccbfe378cca656f399a3d47a40190bc 100644
--- a/contrib/mobile/Android/src/org/geuz/onelab/OptionsFragment.java
+++ b/contrib/mobile/Android/src/org/geuz/onelab/OptionsFragment.java
@@ -57,12 +57,12 @@ public class OptionsFragment extends Fragment{
 		if(_viewN == 0) {
 			optionDisplay.setEnabled(true);
 			optionModel.setEnabled(false);
-			getFragmentManager().beginTransaction().add(R.id.options_fragment, _optionModelFragment).commit();
+			getFragmentManager().beginTransaction().replace(R.id.options_fragment, _optionModelFragment).commit();
 		}
 		else {
 			optionDisplay.setEnabled(false);
 			optionModel.setEnabled(true);
-			getFragmentManager().beginTransaction().add(R.id.options_fragment, _optionDisplayFragment).commit();
+			getFragmentManager().beginTransaction().replace(R.id.options_fragment, _optionDisplayFragment).commit();
 		}
 		optionModel.setOnClickListener(new View.OnClickListener() {
 			
diff --git a/contrib/mobile/utils/onelab_android.sh b/contrib/mobile/utils/onelab_android.sh
index 5a3684cb7d24f21c82040c52ea4e8d314ea2b6ac..b3cadeafbb537fbe06d26792d8431380851298ac 100644
--- a/contrib/mobile/utils/onelab_android.sh
+++ b/contrib/mobile/utils/onelab_android.sh
@@ -63,8 +63,6 @@ checkError $? "make Android project fail (Onelab)"
 echo -e "\033[1m[+] Build Android application (java)\033[0m"
 cd Onelab/
 if [ ! -d "libs/armeabi-v7a/" ]; then mkdir -p libs/armeabi-v7a/; fi
-cp $ANDROID_SDK/extras/android/support/v4/android-support-v4.jar libs/
-checkError $? "Copy android support v4 fail (Android)"
 target=1
 count=0
 while read line; do