Erro leitura

Eu escrevi o código abaixo para fazer umexercíco tirado do livro Java como programar onde ele lê o nome, o sobrenome e o salário de dois usuários e depois exibe o salário anual e depois acrescenta 10% ao salário e reexibe o salário anual.
O prblem é que qundo eu ela vai ler o nome do segundo usuário ele pede para digitar o nome e logo em seguida já pede o sobrenome sem permitir que o usuário digite o primeiro nome.

// Exerc. 3.14 pag. 85: EmployeeTest.java

import java.util.Scanner;

// classe principal do aplicativo
public class EmployeeTest
{
// método principal que inicia a execução do aplicativo
public static void main( String args[] )
{
Employee employee1 = new Employee( "", "", 0.0 );
Employee employee2 = new Employee( "", "", 0.0 );

Scanner input = new Scanner( System.in );

String nomeEmployee; // primeiro nome
String sobrenomeEmployee; // sobrenome
double salarioEmployee; // salário

// Pede os dados do primeiro usuário---------------------------------------------------------------------------------------
System.out.print( "Informe o nome do primeiro usuário: " );
nomeEmployee = input.nextLine();
employee1.setPrimeiroNome( nomeEmployee );

System.out.print( "Informe o sobrenome do primeiro usuário: " );
sobrenomeEmployee = input.nextLine();
employee1.setSegundoNome( sobrenomeEmployee );

System.out.print( "Informe o salário do primeiro usuário: " );
salarioEmployee = input.nextDouble();
employee1.setSalarioMensal( salarioEmployee );
employee1.calculaSalarioAnual( salarioEmployee );

// exibe o nome, sobrenome, salário mensal e anual do usuário
System.out.printf( "Usuário: %s %s\nSalário mensal:%.2f\nSalário anual: %.2f\n",
employee1.getPrimeiroNome(), employee1.getSegundoNome(), employee1.getSalarioMensal(), employee1.getSalarioAnual() );

// faz um acréscime de 10% no salário anual
System.out.print( "Acréscimo de 10% no salário do primeiro usuário\n" );
employee1.acrescimoSalario( salarioEmployee );
System.out.printf( "Novo valor do salário anual do primeiro usuário: %.2f\n", employee1.getAcrescimoSalario() );
//--------------------------------------------------------------------------------------------------------------------------

// Pede os dados do segundo usuário---------------------------------------------------------------------------------------
System.out.print( "\n\nInforme o nome do segundo usuário: " );
nomeEmployee = input.nextLine();
employee2.setPrimeiroNome( nomeEmployee );

System.out.print( "Informe o sobrenome do segundo usuário: " );
sobrenomeEmployee = input.nextLine();
employee2.setSegundoNome( sobrenomeEmployee );

System.out.print( "Informe o salário do segundo usuário: " );
salarioEmployee = input.nextDouble();
employee2.setSalarioMensal( salarioEmployee );
employee2.calculaSalarioAnual( salarioEmployee );

// exibe o nome, sobrenome, salário mensal e anual do usuário
System.out.printf( "Usuário: %s %s\nSalário mensal:%.2f\nSalário anual: %.2f\n",
employee2.getPrimeiroNome(), employee2.getSegundoNome(), employee2.getSalarioMensal(), employee2.getSalarioAnual() );

// faz um acréscime de 10% no salário anual
System.out.print( "Acréscimo de 10% no salário do segundo usuário\n" );
employee2.acrescimoSalario( salarioEmployee );
System.out.printf( "Novo valor do salário anual do segundo usuário: %.2f\n", employee2.getAcrescimoSalario() );
//--------------------------------------------------------------------------------------------------------------------------

} // fim do método principal
} // fim da classe principal


public class Employee
{
private String primeiroNome;
private String segundoNome;
private double salarioMensal;
private double salarioAnual;
private double acrescimoSalario;

// construtor da classe Employee
public Employee( String nome, String sobrenome, double salario )
{
primeiroNome = nome;
segundoNome = sobrenome;
salarioMensal = salario;
} // termina o construtor


// método para configurar o primeiro nome
public void setPrimeiroNome( String pNome )
{
primeiroNome = pNome;
}

// método para recuperar o primeiro nome
public String getPrimeiroNome()
{
return primeiroNome;
}

// método para configurar o segundo nome
public void setSegundoNome( String sNome )
{
segundoNome = sNome;
}

// método para recuperar o segundo nome
public String getSegundoNome( )
{
return segundoNome;
}

// método para configurar o salário mensal
public void setSalarioMensal( double salario )
{
salarioMensal = salario;

if ( salarioMensal < 0 )
salarioMensal = 0.0;
}

// método para recuperar o salario
public double getSalarioMensal()
{
return salarioMensal;
}

// método para calcular o salário anual
public void calculaSalarioAnual( double valorSalario )
{
salarioAnual = valorSalario * 12;
}

// método para recuperar o valor do salário anual
public double getSalarioAnual()
{
return salarioAnual;
}


// método para calcular um acréscimo de 10% no salário anual
public void acrescimoSalario( double salarioEmployee )
{
acrescimoSalario = ( salarioEmployee + 0.10 ) * 12;
}

// método para recuperar o novo valor do salário
public double getAcrescimoSalario()
{
return acrescimoSalario;
}
} // fim da classe Employee

abaixo té a saída do programa no console:

Informe o nome do primeiro usuario: Tiago
Informe o sobrenome do primeiro usuario: Lopes
Informe o salario do primeiro usuario: 12,32
Usuario: Tiago Lopes
Salario mensal:12,32
Salario anual: 147,84
Acrascimo de 10% no salario do primeiro usuario
Novo valor do salario anual do primeiro usuario: 149,04

// aqui é que ta dando erro
Informe o nome do segundo usuario: Informe o sobrenome do segundo usuario: Paulo
Informe o salario do segundo usuario: 12,65
Usuario: Paulo
Salario mensal:12,65
Salario anual: 151,80
Acrascimo de 10% no salario do segundo usuario
Novo valor do salario anual do segundo usuario: 153,00

Se alguém puder me ajudar eu fico muito agradecido!

Em vez de vc fazer input.nextLine(),
faça input.next().

Acho q agora vai dar certo!!!