diff --git a/src/conio/sdlfuncs.c b/src/conio/sdlfuncs.c
index 1966b142a4473fa6bb89354d73abc44a2d1bf5a9..9d334601e4fe1f466430b8678439b38c2e0f1a91 100644
--- a/src/conio/sdlfuncs.c
+++ b/src/conio/sdlfuncs.c
@@ -151,6 +151,10 @@ int load_sdl_funcs(struct sdlfuncs *sdlf)
 		xp_dlclose(sdl_dll);
 		return(-1);
 	}
+	if((sdlf->PollEvent=xp_dlsym(sdl_dll, SDL_PollEvent))==NULL) {
+		xp_dlclose(sdl_dll);
+		return(-1);
+	}
 	if((sdlf->SetVideoMode=xp_dlsym(sdl_dll, SDL_SetVideoMode))==NULL) {
 		xp_dlclose(sdl_dll);
 		return(-1);
diff --git a/src/conio/sdlfuncs.h b/src/conio/sdlfuncs.h
index ad51141ea0d863c7f3f7360163784895eea46ec2..384c14ec062dd439bb048051299d57e97747a2a5 100644
--- a/src/conio/sdlfuncs.h
+++ b/src/conio/sdlfuncs.h
@@ -41,6 +41,7 @@ struct sdlfuncs {
 	void	(HACK_HACK_HACK *KillThread)	(SDL_Thread *thread);
 	void	(HACK_HACK_HACK *WaitThread)	(SDL_Thread *thread, int *status);
 	int	(HACK_HACK_HACK *WaitEvent)	(SDL_Event *event);
+	int	(HACK_HACK_HACK *PollEvent)	(SDL_Event *event);
 	SDL_Surface	*(HACK_HACK_HACK *SetVideoMode)	(int width, int height, int bpp, Uint32 flags);
 	void	(HACK_HACK_HACK *FreeSurface)	(SDL_Surface *surface);
 	void	(HACK_HACK_HACK *WM_SetCaption)	(const char *title, const char *icon);
diff --git a/src/xpdev/sdlfuncs.c b/src/xpdev/sdlfuncs.c
index dd8b8516117136fba299e16c4fcd8825e426da6b..7da02038b876f32029e65f33a24e9f7db0bc8a5a 100644
--- a/src/xpdev/sdlfuncs.c
+++ b/src/xpdev/sdlfuncs.c
@@ -146,6 +146,10 @@ int load_sdl_funcs(struct sdlfuncs *sdlf)
 		xp_dlclose(sdl_dll);
 		return(-1);
 	}
+	if((sdlf->PollEvent=xp_dlsym(sdl_dll, SDL_PollEvent))==NULL) {
+		xp_dlclose(sdl_dll);
+		return(-1);
+	}
 	if((sdlf->SetVideoMode=xp_dlsym(sdl_dll, SDL_SetVideoMode))==NULL) {
 		xp_dlclose(sdl_dll);
 		return(-1);
diff --git a/src/xpdev/sdlfuncs.h b/src/xpdev/sdlfuncs.h
index b8ba1e1734a4400893952b1142df1c05afa98abc..ceaaec5fd3f9a5ad79a6888fb22021e10bdbf70f 100644
--- a/src/xpdev/sdlfuncs.h
+++ b/src/xpdev/sdlfuncs.h
@@ -35,6 +35,7 @@ struct sdlfuncs {
 	void	(*KillThread)	(SDL_Thread *thread);
 	void	(*WaitThread)	(SDL_Thread *thread, int *status);
 	int	(*WaitEvent)	(SDL_Event *event);
+	int	(*PollEvent)	(SDL_Event *event);
 	SDL_Surface	*(*SetVideoMode)	(int width, int height, int bpp, Uint32 flags);
 	void	(*FreeSurface)	(SDL_Surface *surface);
 	void	(*WM_SetCaption)	(const char *title, const char *icon);