diff --git a/pom.xml b/pom.xml
index f7204b0f45e6cad1f70789342b132dd8eede4d27..4e30028b16d39345e2da51e5456757f94acd14f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>fr.agrometinfo</groupId>
   <artifactId>www</artifactId>
-  <version>2.0.3</version>
+  <version>2.0.4-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>AgroMetInfo web app</name>
   <description>Web application for AgroMetInfo.</description>
diff --git a/www-client/pom.xml b/www-client/pom.xml
index c8642876a7a1b15264c50c1cbefe65e7e5d7c496..2eddaf9cef1ffe0a5a2a677211cb0c43bba18ee9 100644
--- a/www-client/pom.xml
+++ b/www-client/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>fr.agrometinfo</groupId>
         <artifactId>www</artifactId>
-        <version>2.0.3</version>
+        <version>2.0.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>www-client</artifactId>
diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java
index 7c814d4105b40854c8a67ef0af9ac6fc91111000..669cf4a6164151c399c87cd06e95177393674164 100644
--- a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java
+++ b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java
@@ -88,6 +88,18 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter
      */
     private View view;
 
+    /**
+     * Load periods from the chosen year.
+     */
+    private void loadPeriods() {
+        GWT.log("LeftPanelPresenter.loadPeriods()");
+        App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.START));
+        IndicatorServiceFactory.INSTANCE.getPeriods(chosenYear) //
+        .onSuccess(this::setPeriods) //
+        .onFailed(layoutView::failureNotification) //
+        .onComplete(() -> App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.END))) //
+        .send();
+    }
 
     /**
      * @param choice the user's choice
@@ -109,7 +121,12 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter
         if ("0".equals(choice.getFeatureId())) {
             choice.setFeatureId(null);
         }
-        chosenYear = choice.getYear();
+        if (chosenYear != null && !chosenYear.equals(choice.getYear())) {
+            chosenYear = choice.getYear();
+            loadPeriods();
+        } else {
+            chosenYear = choice.getYear();
+        }
         final var regionName = regions.getOrDefault(choice.getFeatureId(), CSTS.metropolitanFrance());
         layoutPresenter.onChoiceChange(choice, chosenIndicator, periodName, regionName);
     }
@@ -143,7 +160,7 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter
      * @param list periods from server.
      */
     private void setPeriods(final List<PeriodDTO> list) {
-        GWT.log("RightPanelPresenter.setPeriods()");
+        GWT.log("LeftPanelPresenter.setPeriods()");
         this.periods = list;
         view.setPeriods(list);
 
@@ -159,7 +176,7 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter
      * @param list regions with indicators
      */
     private void setRegions(final Map<String, String> list) {
-        GWT.log("RightPanelPresenter.setRegions()");
+        GWT.log("LeftPanelPresenter.setRegions()");
         regions.clear();
         regions.putAll(list);
         view.setRegions(list);
@@ -169,23 +186,18 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter
      * @param list years of computed values
      */
     private void setYears(final List<Integer> list) {
-        GWT.log("RightPanelPresenter.setYears()");
+        GWT.log("LeftPanelPresenter.setYears()");
         view.setYears(list);
 
         if (!list.isEmpty()) {
             chosenYear = list.get(list.size() - 1);
-            App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.START));
-            IndicatorServiceFactory.INSTANCE.getPeriods(chosenYear) //
-            .onSuccess(this::setPeriods) //
-            .onFailed(layoutView::failureNotification) //
-            .onComplete(() -> App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.END))) //
-            .send();
+            loadPeriods();
         }
     }
 
     @Override
     public void start() {
-        GWT.log("RightPanelPresenter.start()");
+        GWT.log("LeftPanelPresenter.start()");
         view = new LeftPanelView(layoutView.getLeftPanel());
         view.setPresenter(this);
         view.init();
diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java
index 2a77f0bb55164f67a514bd07b85fe63292af108b..637910993b74bfeec424521ced30d6f80b76cfaa 100644
--- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java
+++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java
@@ -299,6 +299,7 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im
         .setSelect(periodSelect) //
         .setTextFunction(PeriodDTO::getDescription) //
         .setValueFunction(PeriodDTO::getCode) //
+        .removeOptions() //
         .addOptions(list) //
         .select(defaultPeriod) //
         .build();
@@ -316,6 +317,7 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im
         .setSelect(regionSelect) //
         .setTextFunction(Entry<String, String>::getValue) //
         .setValueFunction(Entry<String, String>::getKey) //
+        .removeOptions() //
         .addOptions(list.entrySet()) //
         .select(defaultRegion) //
         .build();
@@ -334,7 +336,9 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im
         .setSelect(yearSelect) //
         .setTextFunction(Entry<String, String>::getValue) //
         .setValueFunction(Entry<String, String>::getKey) //
+        .removeOptions() //
+        .addOptions(yearOptions.entrySet()) //
         .select(yearEntry) //
-        .addOptions(yearOptions.entrySet());
+        .build();
     }
 }
diff --git a/www-server/pom.xml b/www-server/pom.xml
index e58d7e3e97621f64049b0dfb31a789f46e01d4fc..f56f26bd711caa7048855d88a6f620852ad18796 100644
--- a/www-server/pom.xml
+++ b/www-server/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>fr.agrometinfo</groupId>
     <artifactId>www</artifactId>
-    <version>2.0.3</version>
+    <version>2.0.4-SNAPSHOT</version>
   </parent>
 
   <artifactId>www-server</artifactId>
diff --git a/www-shared/pom.xml b/www-shared/pom.xml
index d6bb2a6bf44b00f1d7abca3471ea8227ecd5f196..94e631255ee7b47fdb4b2a7727a3ec7e6039c3ca 100644
--- a/www-shared/pom.xml
+++ b/www-shared/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>fr.agrometinfo</groupId>
     <artifactId>www</artifactId>
-    <version>2.0.3</version>
+    <version>2.0.4-SNAPSHOT</version>
   </parent>
 
   <artifactId>www-shared</artifactId>