Re-program the Arduino Uno without losing a base (custom firmware) sketch

Is it possible if the base sketch is the bootloader, expanded with the new functionality?
Have to fit into 2048 bytes.