diff --git a/src/containers/language-selector.jsx b/src/containers/language-selector.jsx
index 8eb621bb1b79b441627a49245245ab80549bf109..1672949a3716ea11b88a71b5e53dbf389886af24 100644
--- a/src/containers/language-selector.jsx
+++ b/src/containers/language-selector.jsx
@@ -17,7 +17,7 @@ class LanguageSelector extends React.Component {
     }
     handleChange (e) {
         const newLocale = e.target.value;
-        if (this.props.supportedLocales.includes(newLocale)) {
+        if (this.props.messagesByLocale[newLocale]) {
             this.props.onChangeLanguage(newLocale);
             document.documentElement.lang = newLocale;
         }
@@ -25,7 +25,7 @@ class LanguageSelector extends React.Component {
     render () {
         const {
             onChangeLanguage, // eslint-disable-line no-unused-vars
-            supportedLocales, // eslint-disable-line no-unused-vars
+            messagesByLocale, // eslint-disable-line no-unused-vars
             children,
             ...props
         } = this.props;
@@ -43,13 +43,14 @@ class LanguageSelector extends React.Component {
 LanguageSelector.propTypes = {
     children: PropTypes.node,
     currentLocale: PropTypes.string.isRequired,
-    onChangeLanguage: PropTypes.func.isRequired,
-    supportedLocales: PropTypes.arrayOf(PropTypes.string)
+    // Only checking key presence for messagesByLocale, no need to be more specific than object
+    messagesByLocale: PropTypes.object, // eslint-disable-line react/forbid-prop-types
+    onChangeLanguage: PropTypes.func.isRequired
 };
 
 const mapStateToProps = state => ({
     currentLocale: state.locales.locale,
-    supportedLocales: Object.keys(state.locales.messagesByLocale)
+    messagesByLocale: state.locales.messagesByLocale
 });
 
 const mapDispatchToProps = dispatch => ({