diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig
index 343f4297a8693f5bf8ab6f8196dbbce43ef4ad61..96ca4be4d68a7377c8e83371e807cb728fbbf295 100644
--- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig
+++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig
@@ -71,7 +71,7 @@
 
 {% block checkbox_widget -%}
     {%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
-    {%- set attr = attr|merge({class: attr.class|default('form-check-input')}) -%}
+    {%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-check-input')|trim}) -%}
     {% if 'checkbox-inline' in parent_label_class %}
         {{- form_label(form, null, { widget: parent() }) -}}
     {% else -%}
@@ -83,7 +83,7 @@
 
 {% block radio_widget -%}
     {%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
-    {%- set attr = attr|merge({class: attr.class|default('form-check-input')}) -%}
+    {%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-check-input')|trim}) -%}
     {%- if 'radio-inline' in parent_label_class -%}
         {{- form_label(form, null, { widget: parent() }) -}}
     {%- else -%}
diff --git a/src/Symfony/Bridge/Twig/composer.json b/src/Symfony/Bridge/Twig/composer.json
index 9161fb345481a03963f22bb5adfaeb909d2cb5c4..bb9e680d087fb7a3d259852495d38063547ba8f9 100644
--- a/src/Symfony/Bridge/Twig/composer.json
+++ b/src/Symfony/Bridge/Twig/composer.json
@@ -24,7 +24,7 @@
         "symfony/asset": "~2.8|~3.0|~4.0",
         "symfony/dependency-injection": "~2.8|~3.0|~4.0",
         "symfony/finder": "~2.8|~3.0|~4.0",
-        "symfony/form": "~3.4-beta2|~4.0-beta2",
+        "symfony/form": "~3.4|~4.0",
         "symfony/http-foundation": "^3.3.11|~4.0",
         "symfony/http-kernel": "~3.2|~4.0",
         "symfony/polyfill-intl-icu": "~1.0",
@@ -41,7 +41,7 @@
         "symfony/web-link": "~3.3|~4.0"
     },
     "conflict": {
-        "symfony/form": "<3.4",
+        "symfony/form": "<3.4-beta4|~4.0,<4.0-beta4",
         "symfony/console": "<3.4"
     },
     "suggest": {
diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php
index 84f93cc332037e265f4cb7dddf0a66bd7f30de9d..88ebd261b2a443848f557ddc689d540d48d0bc95 100644
--- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php
+++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php
@@ -164,7 +164,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
             [.=" [trans]Name[/trans]"]
             [@class="form-check-label required"]
             [
-                ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class"][@checked="checked"][@value="1"]
+                ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][@checked="checked"][@value="1"]
             ]
     ]
 '
@@ -242,7 +242,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
         ./label
             [.=" [trans]Name[/trans]"]
             [
-                ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class"][not(@checked)]
+                ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][not(@checked)]
             ]
     ]
 '
@@ -262,7 +262,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
         ./label
             [.=" [trans]Name[/trans]"]
             [
-                ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class"][@value="foo&bar"]
+                ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][@value="foo&bar"]
             ]
     ]
 '
@@ -487,7 +487,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
                 ./label
                     [.=" [trans]Choice&B[/trans]"]
                     [
-                        ./input[@type="radio"][@name="name"][@id="name_1"][@value="&b"][not(@checked)][@class="foo&bar"]
+                        ./input[@type="radio"][@name="name"][@id="name_1"][@value="&b"][not(@checked)][@class="foo&bar form-check-input"]
                     ]
             ]
         /following-sibling::input[@type="hidden"][@id="name__token"]
@@ -863,7 +863,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
                 ./label
                     [.=" [trans]Choice&B[/trans]"]
                     [
-                        ./input[@type="checkbox"][@name="name[]"][@id="name_1"][not(@checked)][not(@required)][@class="foo&bar"]
+                        ./input[@type="checkbox"][@name="name[]"][@id="name_1"][not(@checked)][not(@required)][@class="foo&bar form-check-input"]
                     ]
             ]
         /following-sibling::div
@@ -896,7 +896,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
                     [@id="my&id"]
                     [@type="radio"]
                     [@name="name"]
-                    [@class="my&class"]
+                    [@class="my&class form-check-input"]
                     [@checked="checked"]
                     [@value="1"]
             ]
@@ -920,7 +920,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
                     [@id="my&id"]
                     [@type="radio"]
                     [@name="name"]
-                    [@class="my&class"]
+                    [@class="my&class form-check-input"]
                     [not(@checked)]
             ]
     ]
@@ -945,7 +945,7 @@ abstract class AbstractBootstrap4LayoutTest extends AbstractBootstrap3LayoutTest
                     [@id="my&id"]
                     [@type="radio"]
                     [@name="name"]
-                    [@class="my&class"]
+                    [@class="my&class form-check-input"]
                     [@value="foo&bar"]
             ]
     ]