[LWJGL] Mouse clicking lag.

I am using LWJGL to obtain mouse information when it clicks, however the mouse click appears to lag when clicked and after clicked. I run the function within my tick function occurs 60 times a second yet it lags behind everything else.

public void tick() {

		mouse = MouseInfo.getPointerInfo();
		mousepos = mouse.getLocation();
		mouseposition.x = (int) ((mousepos.getX() - Display.getX()) - 3);
		mouseposition.y = core.height
				- (int) ((mousepos.getY() - Display.getY()) - 32);
		
		if (Mouse.next()) {
			if (Mouse.getEventButton() != -1) {
				if(Mouse.getEventButtonState()){
					if(Mouse.getEventButton() == 0){
						sm1 = true;
					}
					if(Mouse.getEventButton() == 1){
						sm2 = true;
					}
					if(Mouse.getEventButton() == 2){
						sm3 = true;
					}
				}
				else{
					sm1 = false;
					sm2 = false;
					sm3 = false;
				}
			}
		}
		
		sleft = Keyboard.isKeyDown(Keyboard.KEY_LEFT);
		sright = Keyboard.isKeyDown(Keyboard.KEY_RIGHT);
		sup = Keyboard.isKeyDown(Keyboard.KEY_UP);
		sdown = Keyboard.isKeyDown(Keyboard.KEY_DOWN);
		sspace = Keyboard.isKeyDown(Keyboard.KEY_SPACE );
		sa = Keyboard.isKeyDown(Keyboard.KEY_A);
		sb = Keyboard.isKeyDown(Keyboard.KEY_B);
		sc = Keyboard.isKeyDown(Keyboard.KEY_C);
		sd = Keyboard.isKeyDown(Keyboard.KEY_D);
		se = Keyboard.isKeyDown(Keyboard.KEY_E);
		sf = Keyboard.isKeyDown(Keyboard.KEY_F);
		sg = Keyboard.isKeyDown(Keyboard.KEY_G);
		sh = Keyboard.isKeyDown(Keyboard.KEY_H);
		si = Keyboard.isKeyDown(Keyboard.KEY_I);
		sj = Keyboard.isKeyDown(Keyboard.KEY_J);
		sk = Keyboard.isKeyDown(Keyboard.KEY_K);
		sl = Keyboard.isKeyDown(Keyboard.KEY_L);
		sm = Keyboard.isKeyDown(Keyboard.KEY_M);
		sn = Keyboard.isKeyDown(Keyboard.KEY_N);
		so = Keyboard.isKeyDown(Keyboard.KEY_O);
		sp = Keyboard.isKeyDown(Keyboard.KEY_P);
		sq = Keyboard.isKeyDown(Keyboard.KEY_Q);
		sr = Keyboard.isKeyDown(Keyboard.KEY_R);
		ss = Keyboard.isKeyDown(Keyboard.KEY_S);
		sy = Keyboard.isKeyDown(Keyboard.KEY_T);
		su = Keyboard.isKeyDown(Keyboard.KEY_U);
		sv = Keyboard.isKeyDown(Keyboard.KEY_V);
		sw = Keyboard.isKeyDown(Keyboard.KEY_W);
		sx = Keyboard.isKeyDown(Keyboard.KEY_X);
		sy = Keyboard.isKeyDown(Keyboard.KEY_Y);
		sz = Keyboard.isKeyDown(Keyboard.KEY_Z);

		escape = Keyboard.isKeyDown(Keyboard.KEY_ESCAPE);

	}

If there is a better way to do this or if there is anything else you need to know then please tell.
Thanks.

 if (Mouse.next()) {

shouldn’t that be

while (Mouse.next()) {

Currently you only poll 1 mouse event per frame.

Ha that basically solves it , I was writing this bit quickly and missed that out thanks!