diff --git a/hpvm/include/SupportVISC/VISCUtils.h b/hpvm/include/SupportVISC/VISCUtils.h
index 9b9f813e95df55d85fd64cdf1eed39f89b24e5d7..2b6575fbcbb5f75e020e7e2bd1cba17bf1440034 100644
--- a/hpvm/include/SupportVISC/VISCUtils.h
+++ b/hpvm/include/SupportVISC/VISCUtils.h
@@ -419,46 +419,45 @@ visc::Target getUpdatedTag(visc::Target Tag, visc::Target T) {
     case visc::CPU_TARGET:
       assert((T != visc::CUDNN_TARGET) && (T != visc::PROMISE_TARGET) &&
              "Unsupported target combination\n");
-      break;
       if (T == visc::CPU_TARGET)
         return visc::CPU_TARGET;
       if (T == visc::GPU_TARGET)
         return visc::CPU_OR_GPU_TARGET;
       if (T == visc::SPIR_TARGET)
         return visc::CPU_OR_SPIR_TARGET;
+      return T;
     case visc::GPU_TARGET:
       assert((T != visc::SPIR_TARGET) && "Unsupported target combination\n");
       assert((T != visc::CUDNN_TARGET) && (T != visc::PROMISE_TARGET) &&
              "Unsupported target combination\n");
-      break;
       if (T == visc::CPU_TARGET)
         return visc::CPU_OR_GPU_TARGET;
       if (T == visc::GPU_TARGET)
         return visc::GPU_TARGET;
+      return T;
     case visc::SPIR_TARGET:
       assert((T != visc::GPU_TARGET) && "Unsupported target combination\n");
       assert((T != visc::CUDNN_TARGET) && (T != visc::PROMISE_TARGET) &&
              "Unsupported target combination\n");
-      break;
       if (T == visc::CPU_TARGET)
         return visc::CPU_OR_SPIR_TARGET;
       if (T == visc::SPIR_TARGET)
         return visc::SPIR_TARGET;
+      return T;
     case visc::CPU_OR_GPU_TARGET:
       assert((T != visc::CUDNN_TARGET) && (T != visc::PROMISE_TARGET) &&
              "Unsupported target combination\n");
-      break;
       assert((T != visc::SPIR_TARGET) && "Unsupported target combination\n");
       return visc::CPU_OR_GPU_TARGET;
     case visc::CPU_OR_SPIR_TARGET:
       assert((T != visc::CUDNN_TARGET) && (T != visc::PROMISE_TARGET) &&
              "Unsupported target combination\n");
-      break;
       assert((T != visc::GPU_TARGET) && "Unsupported target combination\n");
       return visc::CPU_OR_SPIR_TARGET;
     default:
       assert(false && "Unknown Target\n");
   }
+  return T;
 }
 
 // This functions add the hint as metadata in visc code