We study the evolution of Boolean networks as model systems for gene regulation. The evolution of a single network is simulated by means of an "adaptive walk", where every mutation that does not lower the fitness is accepted. The initially random network is "mutated" by changing the connections and the update rules of the nodes. The selection criterion demands both a robust functioning of the network in the face of small perturbations to its dynamics as well as a change of the attractor in response to special external stimuli. We examine two variants: in one case the change of the attractor is irreversible, similar to the changes in gene expression during the development of an organism, in the other case the change is reversibel, similar to the response of an organism to different nutrition conditions. In both cases we find that the fitness landscape has a plateau with maximum fitness resulting in the fact that structurally different networks are able to fulfil the same task.