diff --git a/src/webui/service/load_gen/forms.py b/src/webui/service/load_gen/forms.py
index 911d28e44cba83bec050e7588d94734a5d22ce27..4e0020b04f33152de382f5b93af9735f8d737f92 100644
--- a/src/webui/service/load_gen/forms.py
+++ b/src/webui/service/load_gen/forms.py
@@ -16,7 +16,7 @@ from flask_wtf import FlaskForm
 from wtforms import BooleanField, FloatField, IntegerField, StringField, SubmitField
 from wtforms.validators import DataRequired, NumberRange
 
-class LoadGenStartForm(FlaskForm):
+class LoadGenForm(FlaskForm):
     num_requests = IntegerField('Num Requests', default=100, validators=[DataRequired(), NumberRange(min=0)])
     num_generated = IntegerField('Num Generated', default=0, render_kw={'readonly': True})
 
@@ -29,17 +29,14 @@ class LoadGenStartForm(FlaskForm):
 
     offered_load = FloatField('Offered Load [Erlang]', default=50, validators=[NumberRange(min=0.0)])
     holding_time = FloatField('Holding Time [seconds]', default=10, validators=[NumberRange(min=0.0)])
-    inter_arrival_time = FloatField('Inter Arrival Time[seconds]', default=0, validators=[NumberRange(min=0.0)])
+    inter_arrival_time = FloatField('Inter Arrival Time [seconds]', default=0, validators=[NumberRange(min=0.0)])
 
     do_teardown = BooleanField('Do Teardown', default=True)
 
     record_to_dlt = BooleanField('Record to DLT', default=False)
     dlt_domain_id = StringField('DLT Domain Id', default='')
 
-    infinite_loop = BooleanField('Infinite Loop', default=False, render_kw={'readonly': True})
-    running = BooleanField('Running', default=False, render_kw={'readonly': True})
+    infinite_loop = BooleanField('Infinite Loop', default=False, render_kw={'disabled': True})
+    running = BooleanField('Running', default=False, render_kw={'disabled': True})
 
-    submit = SubmitField('Start')
-
-class LoadGenStopForm(FlaskForm):
-    submit = SubmitField('Stop')
+    submit = SubmitField('Start/Stop')
diff --git a/src/webui/service/load_gen/routes.py b/src/webui/service/load_gen/routes.py
index ab1733013c1ecf8f72a0bde78871918222055668..5f47f06b0ff59ad1383aab94caa41adc08440c87 100644
--- a/src/webui/service/load_gen/routes.py
+++ b/src/webui/service/load_gen/routes.py
@@ -12,102 +12,115 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from flask import render_template, Blueprint, flash
+from typing import Any, Optional
+from flask import redirect, render_template, Blueprint, flash, url_for
 from common.proto.context_pb2 import Empty
 from common.proto.load_generator_pb2 import Parameters, RequestTypeEnum
 from load_generator.client.LoadGeneratorClient import LoadGeneratorClient
-from .forms import LoadGenStartForm, LoadGenStopForm
+from .forms import LoadGenForm
 
 load_gen = Blueprint('load_gen', __name__, url_prefix='/load_gen')
 
-def make_read_only(field, readonly : bool) -> None:
+def set_properties(field, data : Any, readonly : Optional[bool] = None, disabled : Optional[bool] = None) -> None:
     if not hasattr(field, 'render_kw'):
-        field.render_kw = dict(readonly=readonly)
+        field.render_kw = dict()
     elif field.render_kw is None:
-        field.render_kw = dict(readonly=readonly)
-    else:
+        field.render_kw = dict()
+
+    if readonly is not None:
         field.render_kw['readonly'] = readonly
+    if disabled is not None:
+        field.render_kw['disabled'] = disabled
+
+    if (readonly is not None and readonly) or (disabled is not None and disabled):
+        field.data = data
 
-@load_gen.route('home', methods=['GET', 'POST'])
+@load_gen.route('home', methods=['GET'])
 def home():
     load_gen_client = LoadGeneratorClient()
 
-    form_start = LoadGenStartForm()
-    form_stop = LoadGenStopForm()
+    load_gen_client.connect()
+    status = load_gen_client.GetStatus(Empty())
+    load_gen_client.close()
+
+    request_types = status.parameters.request_types
+    _request_type_service_l2nm = RequestTypeEnum.REQUESTTYPE_SERVICE_L2NM in request_types
+    _request_type_service_l3nm = RequestTypeEnum.REQUESTTYPE_SERVICE_L3NM in request_types
+    _request_type_service_mw   = RequestTypeEnum.REQUESTTYPE_SERVICE_MW   in request_types
+    _request_type_service_tapi = RequestTypeEnum.REQUESTTYPE_SERVICE_TAPI in request_types
+    _request_type_slice_l2nm   = RequestTypeEnum.REQUESTTYPE_SLICE_L2NM   in request_types
+    _request_type_slice_l3nm   = RequestTypeEnum.REQUESTTYPE_SLICE_L3NM   in request_types
+
+    _offered_load       = round(status.parameters.offered_load       , ndigits=4)
+    _holding_time       = round(status.parameters.holding_time       , ndigits=4)
+    _inter_arrival_time = round(status.parameters.inter_arrival_time , ndigits=4)
 
-    if form_start.validate_on_submit():
-        load_gen_params = Parameters()
-        load_gen_params.num_requests       = form_start.num_requests.data
-        load_gen_params.offered_load       = form_start.offered_load.data
-        load_gen_params.holding_time       = form_start.holding_time.data
-        load_gen_params.inter_arrival_time = form_start.inter_arrival_time.data
-        load_gen_params.do_teardown        = form_start.do_teardown.data
-        load_gen_params.dry_mode           = False
-        load_gen_params.record_to_dlt      = form_start.record_to_dlt.data
-        load_gen_params.dlt_domain_id      = form_start.dlt_domain_id.data
+    form = LoadGenForm()
+    set_properties(form.num_requests             , status.parameters.num_requests , readonly=status.running)
+    set_properties(form.offered_load             , _offered_load                  , readonly=status.running)
+    set_properties(form.holding_time             , _holding_time                  , readonly=status.running)
+    set_properties(form.inter_arrival_time       , _inter_arrival_time            , readonly=status.running)
+    set_properties(form.do_teardown              , status.parameters.do_teardown  , disabled=status.running)
+    set_properties(form.record_to_dlt            , status.parameters.record_to_dlt, disabled=status.running)
+    set_properties(form.dlt_domain_id            , status.parameters.dlt_domain_id, readonly=status.running)
+    set_properties(form.request_type_service_l2nm, _request_type_service_l2nm     , disabled=status.running)
+    set_properties(form.request_type_service_l3nm, _request_type_service_l3nm     , disabled=status.running)
+    set_properties(form.request_type_service_mw  , _request_type_service_mw       , disabled=status.running)
+    set_properties(form.request_type_service_tapi, _request_type_service_tapi     , disabled=status.running)
+    set_properties(form.request_type_slice_l2nm  , _request_type_slice_l2nm       , disabled=status.running)
+    set_properties(form.request_type_slice_l3nm  , _request_type_slice_l3nm       , disabled=status.running)
+    set_properties(form.num_generated            , status.num_generated           , disabled=True)
+    set_properties(form.infinite_loop            , status.infinite_loop           , disabled=True)
+    set_properties(form.running                  , status.running                 , disabled=True)
 
-        del load_gen_params.request_types[:] # pylint: disable=no-member
-        request_types = list()
-        if form_start.request_type_service_l2nm.data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_L2NM)
-        if form_start.request_type_service_l3nm.data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_L3NM)
-        if form_start.request_type_service_mw  .data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_MW  )
-        if form_start.request_type_service_tapi.data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_TAPI)
-        if form_start.request_type_slice_l2nm  .data: request_types.append(RequestTypeEnum.REQUESTTYPE_SLICE_L2NM  )
-        if form_start.request_type_slice_l3nm  .data: request_types.append(RequestTypeEnum.REQUESTTYPE_SLICE_L3NM  )
-        load_gen_params.request_types.extend(request_types) # pylint: disable=no-member
+    form.submit.label.text = 'Stop' if status.running else 'Start'
+    form_action = url_for('load_gen.stop') if status.running else url_for('load_gen.start')
+    return render_template('load_gen/home.html', form=form, form_action=form_action)
 
+@load_gen.route('start', methods=['POST'])
+def start():
+    form = LoadGenForm()
+    if form.validate_on_submit():
         try:
+            load_gen_params = Parameters()
+            load_gen_params.num_requests       = form.num_requests.data
+            load_gen_params.offered_load       = form.offered_load.data
+            load_gen_params.holding_time       = form.holding_time.data
+            load_gen_params.inter_arrival_time = form.inter_arrival_time.data
+            load_gen_params.do_teardown        = form.do_teardown.data
+            load_gen_params.dry_mode           = False
+            load_gen_params.record_to_dlt      = form.record_to_dlt.data
+            load_gen_params.dlt_domain_id      = form.dlt_domain_id.data
+
+            del load_gen_params.request_types[:] # pylint: disable=no-member
+            request_types = list()
+            if form.request_type_service_l2nm.data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_L2NM)
+            if form.request_type_service_l3nm.data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_L3NM)
+            if form.request_type_service_mw  .data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_MW  )
+            if form.request_type_service_tapi.data: request_types.append(RequestTypeEnum.REQUESTTYPE_SERVICE_TAPI)
+            if form.request_type_slice_l2nm  .data: request_types.append(RequestTypeEnum.REQUESTTYPE_SLICE_L2NM  )
+            if form.request_type_slice_l3nm  .data: request_types.append(RequestTypeEnum.REQUESTTYPE_SLICE_L3NM  )
+            load_gen_params.request_types.extend(request_types) # pylint: disable=no-member
+
+            load_gen_client = LoadGeneratorClient()
             load_gen_client.connect()
             load_gen_client.Start(load_gen_params)
             load_gen_client.close()
             flash('Load Generator Started.', 'success')
         except Exception as e: # pylint: disable=broad-except
             flash('Problem starting Load Generator. {:s}'.format(str(e)), 'danger')
+    return redirect(url_for('load_gen.home'))
 
-    if form_stop.validate_on_submit():
+@load_gen.route('stop', methods=['POST'])
+def stop():
+    form = LoadGenForm()
+    if form.validate_on_submit():
         try:
+            load_gen_client = LoadGeneratorClient()
             load_gen_client.connect()
             load_gen_client.Stop(Empty())
             load_gen_client.close()
             flash('Load Generator Stopped.', 'success')
         except Exception as e: # pylint: disable=broad-except
             flash('Problem stopping Load Generator. {:s}'.format(str(e)), 'danger')
-
-    load_gen_client.connect()
-    status = load_gen_client.GetStatus(Empty())
-    load_gen_client.close()
-
-    form_start.num_requests      .default = status.parameters.num_requests
-    form_start.offered_load      .default = status.parameters.offered_load
-    form_start.holding_time      .default = status.parameters.holding_time
-    form_start.inter_arrival_time.default = status.parameters.inter_arrival_time
-    form_start.do_teardown       .default = status.parameters.do_teardown
-    form_start.record_to_dlt     .default = status.parameters.record_to_dlt
-    form_start.dlt_domain_id     .default = status.parameters.dlt_domain_id
-    form_start.num_generated     .default = status.num_generated
-    form_start.infinite_loop     .default = status.infinite_loop
-    form_start.running           .default = status.running
-
-    request_types = status.parameters.request_types
-    form_start.request_type_service_l2nm.default = RequestTypeEnum.REQUESTTYPE_SERVICE_L2NM in request_types
-    form_start.request_type_service_l3nm.default = RequestTypeEnum.REQUESTTYPE_SERVICE_L3NM in request_types
-    form_start.request_type_service_mw  .default = RequestTypeEnum.REQUESTTYPE_SERVICE_MW   in request_types
-    form_start.request_type_service_tapi.default = RequestTypeEnum.REQUESTTYPE_SERVICE_TAPI in request_types
-    form_start.request_type_slice_l2nm  .default = RequestTypeEnum.REQUESTTYPE_SLICE_L2NM   in request_types
-    form_start.request_type_slice_l3nm  .default = RequestTypeEnum.REQUESTTYPE_SLICE_L3NM   in request_types
-
-    make_read_only(form_start.num_requests             , status.running)
-    make_read_only(form_start.offered_load             , status.running)
-    make_read_only(form_start.holding_time             , status.running)
-    make_read_only(form_start.inter_arrival_time       , status.running)
-    make_read_only(form_start.do_teardown              , status.running)
-    make_read_only(form_start.record_to_dlt            , status.running)
-    make_read_only(form_start.dlt_domain_id            , status.running)
-    make_read_only(form_start.request_type_service_l2nm, status.running)
-    make_read_only(form_start.request_type_service_l3nm, status.running)
-    make_read_only(form_start.request_type_service_mw  , status.running)
-    make_read_only(form_start.request_type_service_tapi, status.running)
-    make_read_only(form_start.request_type_slice_l2nm  , status.running)
-    make_read_only(form_start.request_type_slice_l3nm  , status.running)
-
-    return render_template('load_gen/home.html', form_start=form_start, form_stop=form_stop, is_running=status.running)
+    return redirect(url_for('load_gen.home'))
diff --git a/src/webui/service/templates/load_gen/home.html b/src/webui/service/templates/load_gen/home.html
index 684e60ed5223bca7ea5abfdfc3b7c3cea0cb0388..d58f42601925ca438ab9d9f20b32f94960b5cada 100644
--- a/src/webui/service/templates/load_gen/home.html
+++ b/src/webui/service/templates/load_gen/home.html
@@ -20,36 +20,34 @@
     <h1>Load Generator</h1>
     <br />
 
-    <form id="load_gen_start" method="POST">
-        {% if not is_running %}
-        {{ form_start.hidden_tag() }}
-        {% endif %}
+    <form id="load_gen_form" method="POST" action="{{ form_action }}">
+        {{ form.hidden_tag() }}
         <fieldset>
             <div class="row mb-3">
-                {{ form_start.num_requests.label(class="col-sm-2 col-form-label") }}
+                {{ form.num_requests.label(class="col-sm-2 col-form-label") }}
                 <div class="col-sm-10">
-                    {% if form_start.num_requests.errors %}
-                        {{ form_start.num_requests(class="form-control is-invalid") }}
+                    {% if form.num_requests.errors %}
+                        {{ form.num_requests(class="form-control is-invalid") }}
                         <div class="invalid-feedback">
-                            {% for error in form_start.num_requests.errors %}<span>{{ error }}</span>{% endfor %}
+                            {% for error in form.num_requests.errors %}<span>{{ error }}</span>{% endfor %}
                         </div>
                     {% else %}
-                        {{ form_start.num_requests(class="form-control") }}
+                        {{ form.num_requests(class="form-control") }}
                     {% endif %}
                 </div>
             </div>
             <br />
 
             <div class="row mb-3">
-                {{ form_start.num_generated.label(class="col-sm-2 col-form-label") }}
+                {{ form.num_generated.label(class="col-sm-2 col-form-label") }}
                 <div class="col-sm-10">
-                    {% if form_start.num_generated.errors %}
-                        {{ form_start.num_generated(class="form-control is-invalid") }}
+                    {% if form.num_generated.errors %}
+                        {{ form.num_generated(class="form-control is-invalid") }}
                         <div class="invalid-feedback">
-                            {% for error in form_start.num_generated.errors %}<span>{{ error }}</span>{% endfor %}
+                            {% for error in form.num_generated.errors %}<span>{{ error }}</span>{% endfor %}
                         </div>
                     {% else %}
-                        {{ form_start.num_generated(class="form-control") }}
+                        {{ form.num_generated(class="form-control") }}
                     {% endif %}
                 </div>
             </div>
@@ -58,58 +56,58 @@
             <div class="row mb-3">
                 <div class="col-sm-2 col-form-label">Service Types:</div>
                 <div class="col-sm-10">
-                    {{ form_start.request_type_slice_l2nm   }} {{ form_start.request_type_slice_l2nm  .label(class="col-sm-3 col-form-label") }}
-                    {{ form_start.request_type_slice_l3nm   }} {{ form_start.request_type_slice_l3nm  .label(class="col-sm-3 col-form-label") }}
+                    {{ form.request_type_slice_l2nm   }} {{ form.request_type_slice_l2nm  .label(class="col-sm-3 col-form-label") }}
+                    {{ form.request_type_slice_l3nm   }} {{ form.request_type_slice_l3nm  .label(class="col-sm-3 col-form-label") }}
                     <br/>
-                    {{ form_start.request_type_service_l2nm }} {{ form_start.request_type_service_l2nm.label(class="col-sm-3 col-form-label") }}
-                    {{ form_start.request_type_service_l3nm }} {{ form_start.request_type_service_l3nm.label(class="col-sm-3 col-form-label") }}
+                    {{ form.request_type_service_l2nm }} {{ form.request_type_service_l2nm.label(class="col-sm-3 col-form-label") }}
+                    {{ form.request_type_service_l3nm }} {{ form.request_type_service_l3nm.label(class="col-sm-3 col-form-label") }}
                     <br/>
-                    {{ form_start.request_type_service_mw   }} {{ form_start.request_type_service_mw  .label(class="col-sm-3 col-form-label") }}
-                    {{ form_start.request_type_service_tapi }} {{ form_start.request_type_service_tapi.label(class="col-sm-3 col-form-label") }}
+                    {{ form.request_type_service_mw   }} {{ form.request_type_service_mw  .label(class="col-sm-3 col-form-label") }}
+                    {{ form.request_type_service_tapi }} {{ form.request_type_service_tapi.label(class="col-sm-3 col-form-label") }}
                 </div>
             </div>
             <br />
 
             <div class="row mb-3">
-                {{ form_start.offered_load.label(class="col-sm-2 col-form-label") }}
+                {{ form.offered_load.label(class="col-sm-2 col-form-label") }}
                 <div class="col-sm-10">
-                    {% if form_start.offered_load.errors %}
-                        {{ form_start.offered_load(class="form-control is-invalid") }}
+                    {% if form.offered_load.errors %}
+                        {{ form.offered_load(class="form-control is-invalid") }}
                         <div class="invalid-feedback">
-                            {% for error in form_start.offered_load.errors %}<span>{{ error }}</span>{% endfor %}
+                            {% for error in form.offered_load.errors %}<span>{{ error }}</span>{% endfor %}
                         </div>
                     {% else %}
-                        {{ form_start.offered_load(class="form-control") }}
+                        {{ form.offered_load(class="form-control") }}
                     {% endif %}
                 </div>
             </div>
             <br />
 
             <div class="row mb-3">
-                {{ form_start.holding_time.label(class="col-sm-2 col-form-label") }}
+                {{ form.holding_time.label(class="col-sm-2 col-form-label") }}
                 <div class="col-sm-10">
-                    {% if form_start.holding_time.errors %}
-                        {{ form_start.holding_time(class="form-control is-invalid") }}
+                    {% if form.holding_time.errors %}
+                        {{ form.holding_time(class="form-control is-invalid") }}
                         <div class="invalid-feedback">
-                            {% for error in form_start.holding_time.errors %}<span>{{ error }}</span>{% endfor %}
+                            {% for error in form.holding_time.errors %}<span>{{ error }}</span>{% endfor %}
                         </div>
                     {% else %}
-                        {{ form_start.holding_time(class="form-control") }}
+                        {{ form.holding_time(class="form-control") }}
                     {% endif %}
                 </div>
             </div>
             <br />
 
             <div class="row mb-3">
-                {{ form_start.inter_arrival_time.label(class="col-sm-2 col-form-label") }}
+                {{ form.inter_arrival_time.label(class="col-sm-2 col-form-label") }}
                 <div class="col-sm-10">
-                    {% if form_start.inter_arrival_time.errors %}
-                        {{ form_start.inter_arrival_time(class="form-control is-invalid") }}
+                    {% if form.inter_arrival_time.errors %}
+                        {{ form.inter_arrival_time(class="form-control is-invalid") }}
                         <div class="invalid-feedback">
-                            {% for error in form_start.inter_arrival_time.errors %}<span>{{ error }}</span>{% endfor %}
+                            {% for error in form.inter_arrival_time.errors %}<span>{{ error }}</span>{% endfor %}
                         </div>
                     {% else %}
-                        {{ form_start.inter_arrival_time(class="form-control") }}
+                        {{ form.inter_arrival_time(class="form-control") }}
                     {% endif %}
                 </div>
             </div>
@@ -117,7 +115,7 @@
 
             <div class="row mb-3">
                 <div class="col-sm-10">
-                    {{ form_start.do_teardown }} {{ form_start.do_teardown.label(class="col-sm-3 col-form-label") }}<br/>
+                    {{ form.do_teardown }} {{ form.do_teardown.label(class="col-sm-3 col-form-label") }}<br/>
                 </div>
             </div>
             <br />
@@ -125,15 +123,15 @@
             <div class="row mb-3">
                 <div class="col-sm-2 col-form-label">DLT Settings:</div>
                 <div class="col-sm-10">
-                    {{ form_start.record_to_dlt }} {{ form_start.record_to_dlt.label(class="col-sm-3 col-form-label") }} <br/>
-                    {{ form_start.dlt_domain_id.label(class="col-sm-2 col-form-label") }}
-                    {% if form_start.dlt_domain_id.errors %}
-                        {{ form_start.dlt_domain_id(class="form-control is-invalid") }}
+                    {{ form.record_to_dlt }} {{ form.record_to_dlt.label(class="col-sm-3 col-form-label") }} <br/>
+                    {{ form.dlt_domain_id.label(class="col-sm-2 col-form-label") }}
+                    {% if form.dlt_domain_id.errors %}
+                        {{ form.dlt_domain_id(class="form-control is-invalid") }}
                         <div class="invalid-feedback">
-                            {% for error in form_start.dlt_domain_id.errors %}<span>{{ error }}</span>{% endfor %}
+                            {% for error in form.dlt_domain_id.errors %}<span>{{ error }}</span>{% endfor %}
                         </div>
                     {% else %}
-                        {{ form_start.dlt_domain_id(class="form-control") }}
+                        {{ form.dlt_domain_id(class="form-control") }}
                     {% endif %}
                 </div>
             </div>
@@ -142,29 +140,16 @@
             <div class="row mb-3">
                 <div class="col-sm-2 col-form-label">Status:</div>
                 <div class="col-sm-10">
-                    {{ form_start.infinite_loop }} {{ form_start.infinite_loop.label(class="col-sm-3 col-form-label") }}
-                    {{ form_start.running }} {{ form_start.running.label(class="col-sm-3 col-form-label") }}
+                    {{ form.infinite_loop }} {{ form.infinite_loop.label(class="col-sm-3 col-form-label") }}
+                    {{ form.running }} {{ form.running.label(class="col-sm-3 col-form-label") }}
                 </div>
             </div>
             <br />
 
-            {% if not is_running %}
             <div class="d-grid gap-2 d-md-flex justify-content-md-start">
-                {{ form_start.submit(class="btn btn-primary") }}
+                {{ form.submit(class="btn btn-primary") }}
             </div>
-            {% endif %}
         </fieldset>
     </form>
 
-    {% if is_running %}
-    <form id="load_gen_stop" method="POST">
-        {{ form_stop.hidden_tag() }}
-        <fieldset>
-            <div class="d-grid gap-2 d-md-flex justify-content-md-start">
-                {{ form_stop.submit(class="btn btn-primary") }}
-            </div>
-        </fieldset>
-    </form>
-    {% endif %}
-
 {% endblock %}