How to fix this? C#

Can someone try to fix the problem? Well when I press the space button my car brakes and starts to move reverse without control.
Thank you for your time and consideration!

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Control2 : MonoBehaviour
{

    public Text TxtSpeed;
    public WheelCollider front_left;
    public WheelCollider front_right;
    public WheelCollider back_left;
    public WheelCollider back_right;
    public Transform TD;
    public Transform TI;
    public Transform FD;
    public Transform FI;
    public float Torque;
    public float Speed;
    public float MaxSpeed = 200f;
    public int Brake = 10000;
    public float CoefAcceleration = 10f;
    public float WheelAngleMax = 10f;
    public float DAmax = 40f;
    public bool Freinage = false;
    public GameObject BackLight;

    void Start()
    {
        //Regla del centro de masa
        GetComponent<Rigidbody>().centerOfMass = new Vector3(0f, -0.9f, 0.2f);
    }

    void Update() {
     
        //Sonido Motor
        float Val_pitch= Speed / MaxSpeed + 1f;
        GetComponent<AudioSource>().pitch = Mathf.Clamp( Val_pitch, 1f, 3f); 

        //
        Speed = GetComponent<Rigidbody>().velocity.magnitude * 3.6f;
        TxtSpeed.text = "KM/H : " + (int)Speed;
        
        
        //Aceleración
        if (Input.GetKey(KeyCode.UpArrow) && Speed < MaxSpeed)
        {
            if(!Freinage)
            {
            front_left.brakeTorque = 0;
            front_right.brakeTorque = 0;
            back_left.brakeTorque = 0;
            back_right.brakeTorque = 0;
            back_left.motorTorque = Input.GetAxis("Vertical") * Torque * CoefAcceleration * Time.deltaTime;
            back_right.motorTorque = Input.GetAxis("Vertical") * Torque * CoefAcceleration * Time.deltaTime;
            }
            
        }

        //Desaceleración
        if (!Input.GetKey(KeyCode.UpArrow)  || Speed>MaxSpeed)
        {
            if (GetComponent<Rigidbody>().velocity.y > 0)
            {
                back_left.motorTorque = -1000;
                back_right.motorTorque = -1000;
            }
            else
            {
                back_left.brakeTorque = 5000;
                back_right.brakeTorque = 5000;
            }
              
        }

        //Dirección coche
        float DA = (((WheelAngleMax - DAmax) / MaxSpeed)* Speed) + DAmax;
        Debug.Log(DA);
        back_left.steerAngle = Input.GetAxis("Horizontal") * DA;
        back_right.steerAngle = Input.GetAxis("Horizontal") * DA;

        //Rotacion de ruedas
        TD.Rotate(back_left.rpm / 60 * 360 * Time.deltaTime, 0, 0);
        TI.Rotate(back_right.rpm / 60 * 360 * Time.deltaTime, 0, 0);
        FD.Rotate(front_right.rpm / 60 * 360 * Time.deltaTime, 0, 0);
        FI.Rotate(front_left.rpm / 60 * 360 * Time.deltaTime, 0, 0);
        //SteerAngle Mesh Ruedas
        FD.localEulerAngles = new Vector3(FD.localEulerAngles.x, back_left.steerAngle - FD.localEulerAngles.z, FD.localEulerAngles.z);
        FI.localEulerAngles = new Vector3(FI.localEulerAngles.x, back_right.steerAngle - FI.localEulerAngles.z, FI.localEulerAngles.z);

        //Frenado
       if(Input.GetKey(KeyCode.Space))
        {
            Freinage = true;
            BackLight.SetActive(true);
            back_left.brakeTorque = Mathf.Infinity;
            back_right.brakeTorque = Mathf.Infinity;
            front_left.brakeTorque = Mathf.Infinity;
            front_right.brakeTorque = Mathf.Infinity;
            back_left.motorTorque = 0;
            back_right.motorTorque = 0;
        }
       else
        {
            Freinage = false;
            BackLight.SetActive(false);
        }
        //Marcha Atras
        if (Input.GetKey(KeyCode.DownArrow))
        {
            front_left.brakeTorque = 0;
            front_right.brakeTorque = 0;
            back_left.brakeTorque = 0;
            back_right.brakeTorque = 0;
            back_left.motorTorque = Input.GetAxis("Vertical") * Torque * CoefAcceleration * Time.deltaTime;
            back_right.motorTorque = Input.GetAxis("Vertical") * Torque * CoefAcceleration * Time.deltaTime;
        }
    }
}

At the point:

if(Input.GetKey(KeyCode.Space))
         {
             Freinage = true;
             BackLight.SetActive(true);
             back_left.brakeTorque = Mathf.Infinity;
             back_right.brakeTorque = Mathf.Infinity;
             front_left.brakeTorque = Mathf.Infinity;
             front_right.brakeTorque = Mathf.Infinity;
             back_left.motorTorque = 0;
             back_right.motorTorque = 0;
         }
        else
         {
             Freinage = false;
             BackLight.SetActive(false);
         }

Try changing ‘else’ to ‘if (Input.GetKeyUp(KeyCode.Space))’. Like this:

if (Input.GetKeyUp(KeyCode.Space))
          {
              Freinage = false;
              BackLight.SetActive(false);
          }