diff --git a/features/desktop/change_email.feature b/features/desktop/change_settings.feature
similarity index 62%
rename from features/desktop/change_email.feature
rename to features/desktop/change_settings.feature
index c13b532752fa0210f49e30da10a7c449da769132..f636e29cefa59101822ebc2deceda1ca793505d7 100644
--- a/features/desktop/change_email.feature
+++ b/features/desktop/change_settings.feature
@@ -1,10 +1,12 @@
 @javascript
-Feature: Change email
+Feature: Change settings
 
-  Scenario: Change my email
+  Background:
     Given I am signed in
     When I go to the edit user page
-    And I fill in the following:
+
+  Scenario: Change my email
+    When I fill in the following:
       | user_email         | new_email@newplac.es           |
     And I press "Change email"
     Then I should see "Email changed"
@@ -13,9 +15,13 @@ Feature: Change email
     And my "email" should be "new_email@newplac.es"
 
   Scenario: Change my email preferences
-    Given I am signed in
-    When I go to the edit user page
-    And I uncheck "user_email_preferences_mentioned"
+    When I uncheck "user_email_preferences_mentioned"
     And I press "change_email_preferences"
     Then I should see "Email notifications changed"
     And the "user_email_preferences_mentioned" checkbox should not be checked
+
+  Scenario: Change my preferred language
+    When I select "polski" from "user_language"
+    And I press "Change language"
+    Then I should see "Język został zmieniony"
+    And "polski" should be selected from "user_language"
diff --git a/features/step_definitions/web_steps.rb b/features/step_definitions/web_steps.rb
index 7c8da90545df29c31607f2f81e4f14caa65d08d2..74c1d0b4264fbee8c47d27767c3e8c4b28053231 100644
--- a/features/step_definitions/web_steps.rb
+++ b/features/step_definitions/web_steps.rb
@@ -160,6 +160,12 @@ Then /^the "([^"]*)" checkbox(?: within "([^"]*)")? should not be checked$/ do |
   end
 end
 
+Then /^"([^"]*)" should be selected from "([^"]*)"(?: within "([^"]*)")?$/ do |value, field, selector|
+  with_scope(selector) do
+    expect(page).to have_select(field, selected: value)
+  end
+end
+
 Then /^the "([^"]*)" bootstrap-switch should be (on|off)$/ do |label, state|
   if state == "on"
     expect(page.evaluate_script("$('#{label}').bootstrapSwitch('state')")).to be_truthy