diff --git a/include/Image.h b/include/Image.h
index 90cf694164..3b4027b9bf 100644
--- a/include/Image.h
+++ b/include/Image.h
@@ -339,7 +339,7 @@ public:
      * @return 0 on success, -1 otherwise
      */
     int disk_attribute( VectorAttribute * disk,
-                        ImageType*        img_type,
+                        ImageType&        img_type,
                         string&           dev_prefix);
 
     /**
diff --git a/include/ImagePool.h b/include/ImagePool.h
index c7526b787c..1bc30383cd 100644
--- a/include/ImagePool.h
+++ b/include/ImagePool.h
@@ -148,7 +148,7 @@ public:
      */
     int disk_attribute(VectorAttribute *  disk,
                        int                disk_id,
-                       Image::ImageType * img_type,
+                       Image::ImageType&  img_type,
                        string&            dev_prefix,
                        int                uid,
                        int&               image_id,
diff --git a/src/image/Image.cc b/src/image/Image.cc
index 4a41ccf850..b0eb1b53a9 100644
--- a/src/image/Image.cc
+++ b/src/image/Image.cc
@@ -438,7 +438,7 @@ int Image::from_xml(const string& xml)
 /* ------------------------------------------------------------------------ */
 
 int Image::disk_attribute(  VectorAttribute * disk,
-                            ImageType*        img_type,
+                            ImageType&        img_type,
                             string&           dev_prefix)
 {
     string bus;
@@ -448,10 +448,10 @@ int Image::disk_attribute(  VectorAttribute * disk,
 
     ostringstream iid;
 
-    *img_type = type;
-    bus       = disk->vector_value("BUS");
-    target    = disk->vector_value("TARGET");
-    driver    = disk->vector_value("DRIVER");
+    img_type = type;
+    bus      = disk->vector_value("BUS");
+    target   = disk->vector_value("TARGET");
+    driver   = disk->vector_value("DRIVER");
     iid << oid;
 
     string template_bus;
diff --git a/src/image/ImagePool.cc b/src/image/ImagePool.cc
index 5f36f9666f..251c037a0e 100644
--- a/src/image/ImagePool.cc
+++ b/src/image/ImagePool.cc
@@ -214,13 +214,13 @@ static int get_disk_id(const string& id_s)
 
 /* -------------------------------------------------------------------------- */
 
-int ImagePool::disk_attribute(VectorAttribute *  disk,
-                              int                disk_id,
-                              Image::ImageType * img_type,
-                              string&            dev_prefix,
-                              int                uid,
-                              int&               image_id,
-                              string&            error_str)
+int ImagePool::disk_attribute(VectorAttribute * disk,
+                              int               disk_id,
+                              Image::ImageType& img_type,
+                              string&           dev_prefix,
+                              int               uid,
+                              int&              image_id,
+                              string&           error_str)
 {
     string  source;
     Image * img = 0;
@@ -278,7 +278,7 @@ int ImagePool::disk_attribute(VectorAttribute *  disk,
         if ( type == "SWAP" || type == "FS" ) 
         {
             dev_prefix = _default_dev_prefix;
-            *img_type  = Image::DATABLOCK;
+            img_type   = Image::DATABLOCK;
         }
         else
         {
diff --git a/src/vm/VirtualMachine.cc b/src/vm/VirtualMachine.cc
index 9204e68d70..2dbb4ae787 100644
--- a/src/vm/VirtualMachine.cc
+++ b/src/vm/VirtualMachine.cc
@@ -938,7 +938,7 @@ int VirtualMachine::get_disk_images(string& error_str)
 
         rc = ipool->disk_attribute(disk, 
                                    i,
-                                   &img_type,
+                                   img_type,
                                    dev_prefix,
                                    uid, 
                                    image_id,