This work presents a new incremental motion learning algorithm through kinesthetic teachings and a new motion production algorithm by combining learned motions in a humanoid robot. The proposed algorithms are useful for improving the motions that a humanoid robot can produce. The learning algorithm consists of data encoding, time alignment, dimensional reduction, parameter estimation in the Gaussian mixture model (GMM) of motions, GMM refinement, and motion generation steps. The overall procedure is built to be incremental. No historic data memorization is required in any step, and model parameters are enough information to generate motions. The motion production algorithm allows a robot to extract new motions simply from learned motions without requiring teaching sessions. A series of experiments with a humanoid robot serves to validate the performance of the proposed algorithms.