Index: /trunk/include/VBox/com/list.h
===================================================================
--- /trunk/include/VBox/com/list.h	(revision 37546)
+++ /trunk/include/VBox/com/list.h	(revision 37547)
@@ -196,12 +196,12 @@
 };
 
-template <typename T> RTCList<T> SafeArrayToRTCList(ComSafeArrayIn(T, other), T* = 0)
-{
-    com::SafeArray<T> sfaOther(ComSafeArrayInArg(other));
-    RTCList<T> list(sfaOther.size());
-    for (size_t i = 0; i < sfaOther.size(); ++i)
-        list.append(sfaOther[i]);
-    return list;
-}
+//template <typename T> RTCList<T> SafeArrayToRTCList(ComSafeArrayIn(T, other), T* = 0)
+//{
+//    com::SafeArray<T> sfaOther(ComSafeArrayInArg(other));
+//    RTCList<T> list(sfaOther.size());
+//    for (size_t i = 0; i < sfaOther.size(); ++i)
+//        list.append(sfaOther[i]);
+//    return list;
+//}
 
 #endif /* !___VBox_com_list_h */
Index: /trunk/src/VBox/Main/src-server/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 37546)
+++ /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 37547)
@@ -6084,5 +6084,10 @@
     RTCList<CloneOptions_T> optList;
     if (options != NULL)
-        optList = SafeArrayToRTCList<CloneOptions_T>(ComSafeArrayInArg(options));
+    {
+         com::SafeArray<CloneOptions_T> sfaOpts(ComSafeArrayInArg(options));
+         for (size_t i = 0; i < sfaOpts.size(); ++i)
+             optList.append(sfaOpts[i]);
+//        optList = SafeArrayToRTCList<CloneOptions_T>(ComSafeArrayInArg(options));
+    }
     AssertReturn(!optList.contains(CloneOptions_Link), E_NOTIMPL);
     AssertReturn(!(optList.contains(CloneOptions_KeepAllMACs) && optList.contains(CloneOptions_KeepNATMACs)), E_FAIL);
