diff --git a/common/rfb/SFTMsgReader.cxx b/common/rfb/SFTMsgReader.cxx
index 22787bf..e0c9aff 100644
--- a/common/rfb/SFTMsgReader.cxx
+++ b/common/rfb/SFTMsgReader.cxx
@@ -73,7 +73,12 @@
 char *
 SFTMsgReader::readFileUploadData(unsigned int *pDataSize, unsigned int *pModTime)
 {
-  unsigned char compressedLevel = m_pIS->readU8();
+  /*
+   * Compressed level is not used now so we have to skip one byte
+   *
+   * unsigned char compressedLevel = m_pIS->readU8();
+   */
+  (void) m_pIS->readU8();
   unsigned int realSize = m_pIS->readU16();
   unsigned int compressedSize = m_pIS->readU16();
 
diff --git a/common/rfb/ScaleFilters.h b/common/rfb/ScaleFilters.h
index 570dc51..a506d35 100644
--- a/common/rfb/ScaleFilters.h
+++ b/common/rfb/ScaleFilters.h
@@ -24,11 +24,11 @@
 
 namespace rfb {
 
-  #define SCALE_ERROR 1e-7
+  #define SCALE_ERROR (1e-7)
   #define BITS_OF_CHANEL 8
   #define BITS_OF_WEIGHT 14
-  #define FINALSHIFT 2 * BITS_OF_WEIGHT - BITS_OF_CHANEL
-  #define WEIGHT_OF_ONE 1 << BITS_OF_WEIGHT
+  #define FINALSHIFT (2 * BITS_OF_WEIGHT - BITS_OF_CHANEL)
+  #define WEIGHT_OF_ONE (1 << BITS_OF_WEIGHT)
 
   typedef double (*filter_func)(double x);
 
diff --git a/common/rfb/ScaledPixelBuffer.cxx b/common/rfb/ScaledPixelBuffer.cxx
index cd37338..251233f 100644
--- a/common/rfb/ScaledPixelBuffer.cxx
+++ b/common/rfb/ScaledPixelBuffer.cxx
@@ -31,7 +31,7 @@
 ScaledPixelBuffer::ScaledPixelBuffer(U8 **src_data_, int src_width_,
                                      int src_height_, int scale_, PixelFormat pf_)
   : scale(scale_), scale_ratio_x(1), scale_ratio_y(1), scaleFilterID(scaleFilterBilinear),
-    xWeightTabs(0), yWeightTabs(0), scaled_data(0), raccum(0), gaccum(0), baccum(0) {
+    xWeightTabs(0), yWeightTabs(0), raccum(0), gaccum(0), baccum(0), scaled_data(0) {
 
   setSourceBuffer(src_data_, src_width_, src_height_);
   setPF(pf_);
@@ -40,8 +40,8 @@
 ScaledPixelBuffer::ScaledPixelBuffer() 
   : src_width(0), src_height(0), scaled_width(0), scaled_height(0), scale(100), 
     scale_ratio_x(1), scale_ratio_y(1), scaleFilterID(scaleFilterBilinear),
-    xWeightTabs(0), yWeightTabs(0), src_data(0), scaled_data(0), raccum(0),
-    gaccum(0), baccum(0) {
+    xWeightTabs(0), yWeightTabs(0), raccum(0), gaccum(0), baccum(0),
+    src_data(0), scaled_data(0) {
   memset(&pf, 0, sizeof(pf));
 }
 
diff --git a/common/rfb/tightEncode.h b/common/rfb/tightEncode.h
index 71f076e..d893964 100644
--- a/common/rfb/tightEncode.h
+++ b/common/rfb/tightEncode.h
@@ -325,7 +325,9 @@
 #endif
                   )
 {
+#if (BPP != 8) || (BPP == 32)
   const PixelFormat& pf = cp->pf();
+#endif
   GET_IMAGE_INTO_BUF(r, buf);
   PIXEL_T* pixels = (PIXEL_T*)buf;
 
