diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java b/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java
index ac6fc70ce7dc593e94d112f0e9f4a868820ae66e..7e1342260998d96bb8ede171903ed97871db22a8 100644
--- a/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java
+++ b/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java
@@ -28,6 +28,12 @@ public class ModelArrayAdapter extends ArrayAdapter<Model> {
         _models.add(model);
     }
 
+    public void reset()
+    {
+        super.clear();
+        _models.clear();
+    }
+
     public void sortByName()
     {
         Collections.sort(_models, new ModelComp());
diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java b/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java
index d942edeb68c6f17eb371cffac425db6870ab2db1..2af3c654bf13b7a56144a7ae47dc7adbe28e486c 100644
--- a/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java
+++ b/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java
@@ -32,6 +32,15 @@ public class ModelList extends Activity {
 
     private ModelArrayAdapter _modelArrayAdapter;
 
+    private void deleteRecursive(File fileOrDirectory)
+    {
+        if (fileOrDirectory.isDirectory()){
+            for (File child : fileOrDirectory.listFiles())
+                deleteRecursive(child);
+        }
+        fileOrDirectory.delete();
+    }
+
     @Override
     protected void onCreate(Bundle savedInstanceState)
     {
@@ -66,30 +75,42 @@ public class ModelList extends Activity {
                     final Model m = _modelArrayAdapter.getModel(position);
                     CharSequence[] actions;
                     if(m.getUrl() != null) {
-                        actions = new CharSequence[2];
+                        actions = new CharSequence[3];
                         actions[0] = "Open model";
-                        actions[1] = "View model website";
-                        // FIXME: add "Remove model" as in iOS
+                        actions[1] = "Remove model";
+                        actions[2] = "View model website";
                     }
                     else {
-                        actions = new CharSequence[1];
+                        actions = new CharSequence[2];
                         actions[0] = "Open model";
+                        actions[1] = "Remove model";
                     }
                     AlertDialog.Builder builder = new AlertDialog.Builder(parent.getContext());
                     builder.setTitle(m.getName());
                     builder.setItems(actions, new DialogInterface.OnClickListener() {
                             public void onClick(DialogInterface dialog, int position) {
                                 switch (position) {
-                                case 1:
-                                    Intent browserIntent = new Intent(Intent.ACTION_VIEW, m.getUrl());
-                                    startActivity(browserIntent);
-                                    break;
-                                default:
+                                case 0:
                                     Intent intent = new Intent(ModelList.this, MainActivity.class);
                                     intent.putExtra("file", m.getFile().toString());
                                     intent.putExtra("name", m.getName());
                                     startActivity(intent);
                                     break;
+                                case 1:
+                                    deleteRecursive(m.getFile().getParentFile());
+                                    _modelArrayAdapter.reset();
+                                    try {
+                                        getModels();
+                                    } catch (XmlPullParserException e) {
+                                        e.printStackTrace();
+                                    } catch (IOException e) {
+                                        e.printStackTrace();
+                                    }
+                                    break;
+                                case 2:
+                                    Intent browserIntent = new Intent(Intent.ACTION_VIEW, m.getUrl());
+                                    startActivity(browserIntent);
+                                    break;
                                 }
                             }
                         });