diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index 7ce141a3b6d4ba6ad10b24c2b257c1692b6a6ec0..cccab1f9b9f9ad529336cd1de6bbc5d15b9e7bac 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -503,7 +503,7 @@ StartServiceA( SC_HANDLE hService, DWORD dwNumServiceArgs,
     for(i=0; i<dwNumServiceArgs; i++)
         lpwstr[i]=HEAP_strdupAtoW(GetProcessHeap(), 0, lpServiceArgVectors[i]);
 
-    StartServiceW(hService, dwNumServiceArgs, lpwstr);
+    StartServiceW(hService, dwNumServiceArgs, (LPCWSTR *)lpwstr);
 
     if(dwNumServiceArgs)
     {
@@ -598,7 +598,7 @@ StartServiceW( SC_HANDLE hService, DWORD dwNumServiceArgs,
         return FALSE;
 
     start_dwNumServiceArgs    = dwNumServiceArgs;
-    start_lpServiceArgVectors = lpServiceArgVectors;
+    start_lpServiceArgVectors = (LPWSTR *)lpServiceArgVectors;
 
     ZeroMemory(&startupinfo,sizeof(STARTUPINFOA));
     startupinfo.cb = sizeof(STARTUPINFOA);
diff --git a/dlls/comctl32/datetime.c b/dlls/comctl32/datetime.c
index 3f7d2a3d7b25970e68428611dba00baa630707f8..2904d41f5f14a444a11d9fc957260cb46dce1570 100644
--- a/dlls/comctl32/datetime.c
+++ b/dlls/comctl32/datetime.c
@@ -127,7 +127,7 @@ static void DATETIME_Refresh (HWND hwnd, HDC hdc)
   SYSTEMTIME date = infoPtr->date;
   SIZE size;
   BOOL prssed=FALSE;
-  COLORREF oldBk;
+  COLORREF oldBk = 0;
   
 
 	
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c
index 07c67fcceb215de8519649d9493262013fbaf1a9..09a285d0ec50c6fa24916775422c6f2c654be1f7 100644
--- a/dlls/comctl32/tab.c
+++ b/dlls/comctl32/tab.c
@@ -814,7 +814,7 @@ static void TAB_DrawItem(
     HPEN   holdPen;
     INT    oldBkMode;
     INT    cx,cy; 
-    BOOL   deleteBrush;
+    BOOL   deleteBrush = TRUE;
 
     if (lStyle & TCS_BUTTONS)
     {
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c
index 543a073d8a8ac680822c59e5fe252aba2d01f218..ab424d8e6c0531ed755433e259ee0b6421858942 100644
--- a/dlls/dplayx/dplay.c
+++ b/dlls/dplayx/dplay.c
@@ -1259,7 +1259,6 @@ static HRESULT WINAPI DirectPlay3AImpl_InitializeConnection
   HMODULE hServiceProvider;
   typedef DWORD (WINAPI *SP_SPInit)(LPVOID lpCompoundAddress, ...); /* FIXME: How many arguments? */
   SP_SPInit SPInit;
-  DWORD dwReturnValue = 0;
 
   ICOM_THIS(IDirectPlay3Impl,iface);
 
diff --git a/graphics/ttydrv/objects.c b/graphics/ttydrv/objects.c
index ddc410d604c94114cb04ab1cbb46d8cd4c6f0d9b..efff629ff67fa0f86e6bc918cbcda4e6db795569 100644
--- a/graphics/ttydrv/objects.c
+++ b/graphics/ttydrv/objects.c
@@ -30,9 +30,9 @@ extern BOOL TTYDRV_DC_BITMAP_DeleteObject(HBITMAP hbitmap, BITMAPOBJ *bitmap);
 HGDIOBJ TTYDRV_DC_SelectObject(DC *dc, HGDIOBJ handle)
 {
   GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
-  HGDIOBJ result = NULL;
+  HGDIOBJ result = 0;
 
-  if(!ptr) return NULL;
+  if(!ptr) return 0;
 
   switch(ptr->wMagic) 
   {
diff --git a/scheduler/process.c b/scheduler/process.c
index 44015d507bc0a74381f27ce8656749c86f418159..b30e24d140865e570f6148f677f128345ae00680 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -218,10 +218,12 @@ void PROCESS_CallUserSignalProc( UINT uCode, DWORD dwThreadId, HMODULE hModule )
     /* Call USER signal proc */
 
     if ( Callout.UserSignalProc )
+    {
         if ( uCode == USIG_THREAD_INIT || uCode == USIG_THREAD_EXIT )
             Callout.UserSignalProc( uCode, dwThreadId, dwFlags, hModule );
         else
             Callout.UserSignalProc( uCode, GetCurrentProcessId(), dwFlags, hModule );
+    }
 }
 
 /***********************************************************************