diff --git a/src/main/java/no/nibio/web/forms/FormSelectOption.java b/src/main/java/no/nibio/web/forms/FormSelectOption.java
index 9f510e37a1c867c7ed60d728575e6b2e6468a4ec..fc356a6ee80efc54c6f267c1324c54cc36f9713d 100755
--- a/src/main/java/no/nibio/web/forms/FormSelectOption.java
+++ b/src/main/java/no/nibio/web/forms/FormSelectOption.java
@@ -19,6 +19,8 @@
 
 package no.nibio.web.forms;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 /**
  * Represents an option in a select field
  * @copyright 2013 <a href="http://www.nibio.no/">NIBIO</a>
@@ -46,6 +48,7 @@ public class FormSelectOption {
     /**
      * @return the label
      */
+    @JsonIgnore
     public String getLabel() {
         return label;
     }
@@ -53,6 +56,7 @@ public class FormSelectOption {
     /**
      * @param label the label to set
      */
+    @JsonIgnore
     public void setLabel(String label) {
         this.label = label;
     }
diff --git a/src/main/webapp/js/forecastConfigurationForm.js b/src/main/webapp/js/forecastConfigurationForm.js
index 6dfca064b7eaeead2c79f3edc75c5dbc6b106417..3d3b9bfbe17adc41b85f64a29861f2c75cfda5e0 100755
--- a/src/main/webapp/js/forecastConfigurationForm.js
+++ b/src/main/webapp/js/forecastConfigurationForm.js
@@ -120,7 +120,7 @@ function fetchModelSpecificFieldValuesCallback(fieldValues)
         //console.log(fieldValues[i].forecastModelConfigurationPK.modelConfigParameter + ": " + fieldName);
         if(theForm[fieldName] !== null && theForm[fieldName] !== undefined)
         {
-            theForm[fieldName].value=fieldValues[i].parameterValue;
+                theForm[fieldName].value=fieldValues[i].parameterValue;
         }
     }
 }
@@ -164,6 +164,12 @@ function createFieldHTML(modelId, formId, fieldDefinition)
         var inputType = getHTMLInputType(fieldDefinition.dataType);
         fieldHTML = '<input type="' + inputType + '" class="form-control" name="' + fieldDefinition.name + '" placeholder="' + getI18nMsg(fieldDefinition.name) + '" onblur="validateField(this,\'' + modelId + '\');" />';
     }
+    else if(fieldDefinition.fieldType === fieldTypes.TYPE_SELECT_SINGLE || fieldDefinition.fieldType === fieldTypes.TYPE_SELECT_MULTIPLE)
+    {
+        fieldHTML = '<select class="form-control" name="' + fieldDefinition.name + '"onblur="validateField(this,\'' + modelId + '\')" ' + (fieldDefinition.fieldType === fieldTypes.TYPE_SELECT_MULTIPLE ? ' multiple="multiple"' : '') + '>';
+        fieldHTML += getLocalizedOptionsHTML(fieldDefinition.options);
+        fieldHTML += '</select>';
+    }
 
     return [
             replaceParams(FIELD_PREFIX,[fieldDefinition.name, getI18nMsg(fieldDefinition.name)]),
@@ -205,4 +211,4 @@ function getHTMLInputType(dataType)
         default:
             return "text";
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/webapp/js/util.js b/src/main/webapp/js/util.js
index 382314a03733ac00c4f2db4f687366bccd530939..74c3f49d49d602f7e47fd1adcf4a010fb2d2bf0d 100755
--- a/src/main/webapp/js/util.js
+++ b/src/main/webapp/js/util.js
@@ -112,7 +112,7 @@ function getLocalizedOrganismName(organism, language)
 }
 
 /**
- * Depends on the value of currentLanguage and defaultLanguage in /currentLanguage.js
+ * Depends on the value of currentLanguage and defaultLanguage in /js/environment.js
  * @param cropCategory
  * @returns {String}
  */
@@ -146,6 +146,35 @@ function getLocalizedCropCategoryName(cropCategory)
 	return "Unnamed";
 }
 
+function getLocalizedOptionsHTML(optionsList) {
+    var translatedOptionsHTML = "";
+    var languages = [environment.currentLanguage, environment.defaultLanguage, "en"];
+    
+    for(var i in optionsList){
+        var option = optionsList[i];
+        var label = null;
+        var labelList = option.label;
+	for(var j in languages)
+	{
+		for(var k in labelList)
+		{
+                    if(k === languages[j])
+                    {
+                        label = labelList[k];
+                        break;
+                    }
+		}
+            if(label !== null)
+            {
+                break;
+            }
+	}
+        translatedOptionsHTML += '<option value="' + option.value + '"' + (option.selected === "true" ? ' selected="selected"' : '') + ">" + label + "</option>";
+    }
+    
+    return translatedOptionsHTML;
+}
+
 /** Ensure that we're able to handle both a unix timestamp and an ISO timestamp
  * 
  * @param {type} ambiguousValue
diff --git a/src/main/webapp/templates/forecastConfigurationForm.ftl b/src/main/webapp/templates/forecastConfigurationForm.ftl
index 637f74c785b5590f0edd79c023f5e52c15a621cb..803f5600cc96fd4fede4fbd35d3b2b0d9494d572 100755
--- a/src/main/webapp/templates/forecastConfigurationForm.ftl
+++ b/src/main/webapp/templates/forecastConfigurationForm.ftl
@@ -26,6 +26,7 @@
 	<link href="//code.jquery.com/ui/1.10.3/themes/redmond/jquery-ui.css" rel="stylesheet" />
 	<script type="text/javascript" src="/js/3rdparty/modernizr_custom.js"></script>
 	<script type="text/javascript" src="/js/3rdparty/moment.min.js"></script>
+        <script type="text/javascript" src="/js/environment.js"></script>
         <script type="text/javascript" src="/js/util.js"></script>
 	<script type="text/javascript">
             $(document).ready(function() {
@@ -44,8 +45,11 @@
 			renderModelSpecificFields("${formId}");
                         
 		}
-                    
-                initCropCategories();
+                
+                if(document.getElementById("cropCategoryIdList") != null)
+                {
+                    initCropCategories();
+                }
                     
                 sortListAlphabetically(document.getElementById("modelId"),1);
             });
@@ -60,7 +64,7 @@
             }
 
             function renderCropCategories() {
-                var cropCategoryIdList = document.getElementById("cropCategoryIdList");
+                var cropCategoryIdList = document.getElementById("cropCategoryIdList");                    
                 for(var i in cropCategories)
                 {
                     var cropCategory = cropCategories[i];