diff --git a/addons/rating/controllers/main.py b/addons/rating/controllers/main.py
index 5257073ce7b90abc70178fe731bd7fdf7d915d9f..5c1f7f5f4ce0e1ff33dcbc00aecce6c71bf68ee6 100644
--- a/addons/rating/controllers/main.py
+++ b/addons/rating/controllers/main.py
@@ -29,7 +29,7 @@ class Rating(http.Controller):
 
     @http.route(['/rating/<string:token>/submit_feedback'], type="http", auth="public", methods=['post'], website=True)
     def submit_rating(self, token, **kwargs):
-        rate = kwargs.get('rate')
+        rate = int(kwargs.get('rate'))
         assert rate in (1, 5, 10), "Incorrect rating"
         rating = request.env['rating.rating'].sudo().search([('access_token', '=', token)])
         if not rating:
diff --git a/addons/rating/views/rating_template.xml b/addons/rating/views/rating_template.xml
index 679db3ede20cc075ea5cb99421fe284a8367eb5c..5b9552e2ffc81334d5b40fbfd9515735f0548bdb 100644
--- a/addons/rating/views/rating_template.xml
+++ b/addons/rating/views/rating_template.xml
@@ -25,7 +25,7 @@
                                 <div class="btn-group btn-group-toggle row" data-toggle="buttons">
                                     <t t-foreach="rate_names" t-as="rate_name">
                                         <label t-attf-class="col-xs-12 btn o_rating_label shadow-none {{rate == rate_name and 'active' or ''}}">
-                                            <input type="radio" name="rate" t-attf-id="rate_{{rate_name}}" t-att-value="rate_name"/>
+                                            <input type="radio" name="rate" t-attf-id="rate_{{rate_name}}" t-att-value="rate_name" t-att-checked="rate == rate_name"/>
                                             <a class="o_rating" href="#">
                                                 <img t-attf-src='/rating/static/src/img/rating_#{rate_name}.png' t-att-alt="rate_name_value" t-att-title="rate_name_value"/>
                                             </a>