Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSetting.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSetting.java	(revision 32590)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSetting.java	(revision 32591)
@@ -97,5 +97,5 @@
     format24.setSelected(Main.pref.getBoolean("mapillary.format-24"));
     moveTo.setSelected(Main.pref.getBoolean("mapillary.move-to-picture", true));
-        this.hoverEnabled.setSelected(Main.pref.getBoolean("mapillary.hover-enabled", true));
+    hoverEnabled.setSelected(Main.pref.getBoolean("mapillary.hover-enabled", true));
 
     mainPanel.setLayout(new GridBagLayout());
@@ -170,8 +170,10 @@
 
     MapillaryPlugin.setMenuEnabled(MapillaryPlugin.getDownloadViewMenu(), false);
-    if (this.downloadModeComboBox.getSelectedItem().equals(MapillaryDownloader.MODES.Automatic.toString()))
+    if (this.downloadModeComboBox.getSelectedItem().equals(MapillaryDownloader.MODES.Automatic.toString())) {
       Main.pref.put("mapillary.download-mode", MapillaryDownloader.MODES.Automatic.toString());
-    if (this.downloadModeComboBox.getSelectedItem().equals(MapillaryDownloader.MODES.Semiautomatic.toString()))
+    }
+    if (this.downloadModeComboBox.getSelectedItem().equals(MapillaryDownloader.MODES.Semiautomatic.toString())) {
       Main.pref.put("mapillary.download-mode", MapillaryDownloader.MODES.Semiautomatic.toString());
+    }
     if (this.downloadModeComboBox.getSelectedItem().equals(MapillaryDownloader.MODES.Manual.toString())) {
       Main.pref.put("mapillary.download-mode", MapillaryDownloader.MODES.Manual.toString());
Index: /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSettingTest.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSettingTest.java	(revision 32590)
+++ /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSettingTest.java	(revision 32591)
@@ -7,10 +7,15 @@
 import java.awt.GraphicsEnvironment;
 import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Map;
 
 import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 
 import org.junit.Test;
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 import org.openstreetmap.josm.plugins.mapillary.AbstractTest;
@@ -31,4 +36,9 @@
     assertEquals(displayTabs + 1, tabs.getDisplayPreference().getTabPane().getTabCount());
     assertEquals(tabs.getDisplayPreference(), setting.getTabPreferenceSetting(tabs));
+  }
+
+  @Test
+  public void testIsExpert() {
+    assertFalse(new MapillaryPreferenceSetting().isExpert());
   }
 
@@ -58,5 +68,12 @@
   }
 
-  private static Object getPrivateField(MapillaryPreferenceSetting object, String name) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
+  /**
+   * Helper method for obtaining the value of a private field
+   * @param object the object of which you want the private field
+   * @param name the name of the private field
+   * @return the current value that field has
+   */
+  private static Object getPrivateField(MapillaryPreferenceSetting object, String name)
+      throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
     Field field = object.getClass().getDeclaredField(name);
     field.setAccessible(true);
@@ -64,3 +81,49 @@
   }
 
+  @SuppressWarnings("unchecked")
+  @Test
+  public void testOk() throws SecurityException, IllegalArgumentException, IllegalAccessException, NoSuchFieldException {
+    MapillaryPreferenceSetting settings = new MapillaryPreferenceSetting();
+
+    // Test checkboxes
+    settings.ok();
+    assertEquals(Main.pref.get("mapillary.display-hour"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "displayHour")).isSelected()));
+    assertEquals(Main.pref.get("mapillary.format-24"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "format24")).isSelected()));
+    assertEquals(Main.pref.get("mapillary.move-to-picture"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "moveTo")).isSelected()));
+    assertEquals(Main.pref.get("mapillary.hover-enabled"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "hoverEnabled")).isSelected()));
+
+    // Toggle state of the checkboxes
+    toggleCheckbox((JCheckBox) getPrivateField(settings, "displayHour"));
+    toggleCheckbox((JCheckBox) getPrivateField(settings, "format24"));
+    toggleCheckbox((JCheckBox) getPrivateField(settings, "moveTo"));
+    toggleCheckbox((JCheckBox) getPrivateField(settings, "hoverEnabled"));
+
+    // Test the second state of the checkboxes
+    settings.ok();
+    assertEquals(Main.pref.get("mapillary.display-hour"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "displayHour")).isSelected()));
+    assertEquals(Main.pref.get("mapillary.format-24"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "format24")).isSelected()));
+    assertEquals(Main.pref.get("mapillary.move-to-picture"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "moveTo")).isSelected()));
+    assertEquals(Main.pref.get("mapillary.hover-enabled"),
+        Boolean.toString(((JCheckBox) getPrivateField(settings, "hoverEnabled")).isSelected()));
+
+    // Test combobox
+    for (int i = 0; i < ((JComboBox<String>) getPrivateField(settings, "downloadModeComboBox")).getItemCount(); i++) {
+      ((JComboBox<String>) getPrivateField(settings, "downloadModeComboBox")).setSelectedIndex(i);
+      settings.ok();
+      assertEquals(Main.pref.get("mapillary.download-mode"),
+          ((JComboBox<String>) getPrivateField(settings, "downloadModeComboBox")).getSelectedItem());
+    }
+  }
+
+  private static void toggleCheckbox(JCheckBox jcb) {
+    jcb.setSelected(!jcb.isSelected());
+  }
+
 }
