diff --git a/src/xmlpatterns/data/qderivedinteger_p.h b/src/xmlpatterns/data/qderivedinteger_p.h
index 621f06107914e9124eef99e5c4fbab7e43d16de6..241abac879b63d789a13b508aa9eb5f775f3e61f 100644
--- a/src/xmlpatterns/data/qderivedinteger_p.h
+++ b/src/xmlpatterns/data/qderivedinteger_p.h
@@ -393,6 +393,8 @@ namespace QPatternist
              * reason get a linker error with GCC. Using this temporary
              * variable solves it. */
             const StorageType minimum = minInclusive;
+            // MSVC2010 complains that this is initialised but not referenced.
+            Q_UNUSED(minimum)
 
             if((limitsUsage & LimitUpwards) &&
                num > maxInclusive)
diff --git a/src/xmlpatterns/parser/qquerytransformparser.cpp b/src/xmlpatterns/parser/qquerytransformparser.cpp
index 6b9194c46dba3f4ce9dd0d240f3d22a07952f96a..0969701b4d5329d2b2def351c3d33d3c36c5b7c5 100644
--- a/src/xmlpatterns/parser/qquerytransformparser.cpp
+++ b/src/xmlpatterns/parser/qquerytransformparser.cpp
@@ -3368,6 +3368,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseInfo)
     ParserContext *const parseInfo;
 #endif
 {
+  YYUSE (yytype);
   YYUSE (yyvaluep);
   YYUSE (yylocationp);
   YYUSE (parseInfo);
@@ -3375,13 +3376,6 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseInfo)
   if (!yymsg)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
-  switch (yytype)
-    {
-
-      default:
-	break;
-    }
 }