tasklet_init(&budget->vpe_tasklet, vpeirq, (unsigned long) budget);
 
        /* frontend power on */
-       if (bi->type == BUDGET_FS_ACTIVY)
-               saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
-       else
+       if (bi->type != BUDGET_FS_ACTIVY)
                saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);
 
        if (budget_register(budget) == 0) {
 
  *   Routines for the Fujitsu Siemens Activy budget card
  *   22 kHz tone and DiSEqC are handled by the frontend.
  *   Voltage must be set here.
+ *   GPIO 1: LNBP EN, GPIO 2: LNBP VSEL
  */
 static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage)
 {
 
        switch (voltage) {
                case SEC_VOLTAGE_13:
+                       saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
                        saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO);
                        break;
                case SEC_VOLTAGE_18:
+                       saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
                        saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);
                        break;
+               case SEC_VOLTAGE_OFF:
+                       saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTLO);
+                       break;
                default:
                        return -EINVAL;
        }
                if (budget->dvb_frontend) {
                        budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage;
                        budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage;
+                       budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
                        if (lnbp21_init(budget)) {
                                printk("%s: No LNBP21 found!\n", __FUNCTION__);
                                goto error_out;
                budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap);
                if (budget->dvb_frontend) {
                        budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
-                       break;
+                       budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
                }
                break;
 
                budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap);
                if (budget->dvb_frontend) {
                        budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
-                       break;
+                       budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
                }
                break;